ó øłbc@sÜddlmZddlZddlZddlZdZdZeZidd6dd6dd 6d d 6d d 6Z d„Z d„Z dejfd„ƒYZ de fd„ƒYZ ddd„ƒYZdd„Zd„ZdS(i’’’’(tImageNiisimage buffer overrun errorsdecoding erroriž’’’s unknown erroriż’’’sbad configurationių’’’sout of memory errori÷’’’cCs`ytjj|ƒ}Wn tk r8tj|ƒ}nX|sLd|}nt|dƒ‚dS(Nsdecoder error %ds when reading image file(RtcoretgetcodecstatustAttributeErrortERRORStgettIOError(terrortmessage((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyt raise_ioerror0s  cCs|dS(Ni((tt((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyt _tilesort=st ImageFilecBsJeZdZddd„Zd„Zd„Zd„Zd„Zd„Z RS(s*Base class for image file format handlers.cCstjj|ƒd|_d|_d|_t|_tj|ƒrat |dƒ|_ ||_ n||_ ||_ y|j ƒWnét k r¾}tjdkrÆtjƒnt|ƒ‚nÆtk rų}tjdkrétjƒnt|ƒ‚nutk r2}tjdkr#tjƒnt|ƒ‚n;tk rl}tjdkr]tjƒnt|ƒ‚nX|j sŠ|jddkr™tdƒ‚ndS(Nitrbisnot identified by this driver((Rt__init__tNonettiletreadonlyt decoderconfigtMAXBLOCKtdecodermaxblockt isStringTypetopentfptfilenamet_opent IndexErrortDEBUGt tracebackt print_exct SyntaxErrort TypeErrortKeyErrortEOFErrortmodetsize(tselfRRtv((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyRKs<           cCsdS(sSet draft modeN((R$R"R#((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pytdraftsscCs d|_dS(sCheck file integrityN(RR(R$((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pytverifyxsc Csctjj|ƒ}|jdkr0tdƒ‚n|js=|Sd|_d}|jrĢt|jƒdkrĢ|jd\}}}}|dkrĢ|d|jkrĢ|dtj krĢyėt tj dƒr!tj j|jƒ|_|jj |ƒ|jj |j|j|d|dƒ|_nxddl}t|jd ƒ}tjj|jƒ} |j|jƒ| ƒ|_tj j|j|j||||ƒ|_d}WqÉtttfk rÅd|_qÉXqĢn|jƒy |j} Wntk r|jj} nXy |j} Wntk r/|jj } nX|jsæ|jjd t ƒy |j!} Wntk rrd } nXxI|jD];\}}}}tj"|j|||j#ƒ}| |ƒy|j$|j|ƒWnt%k räq}nX| } t| ƒ}x¾t&r·y| |j'ƒ}Wn)t(k r>}t)r/Pq?t(|ƒ‚nX|sqg|_t)rXPqqtd t| ƒƒ‚n| |} |j*| ƒ\}}|dkr Pn| |} ||}qśWq}Wng|_||_+d|_t) sķ|dkr|j r|dkrt,|ƒnt |d ƒrI|jj-|j.ƒ|_|jj|_n|j/ƒtjj|ƒS(s"Load image data based on tile listscannot load this imageiitrawtmapii’’’’Nsr+tkeyts0image file is truncated (%d bytes not processed)ttile_post_rotate(0RtloadRRRR)RtlenR"t _MAPMODESthasattrRtseekt readimageR#timtmmapRtostpathtgetsizetfilenot map_bufferRtEnvironmentErrort ImportErrort load_preparet load_readRtreadt load_seektsortR t tile_prefixt _getdecoderRtsetimaget ValueErrortTrueRRtLOAD_TRUNCATED_IMAGEStdecodeRR trotateR,tload_end(R$tpixelRtdtetotaR4tfileR#R>R1tprefixtbR tstietn((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyR-sš  2 &  !                     )  cCs{|j s4|jj|jks4|jj|jkrUtjj|j|jƒ|_n|jdkrwtjj|ƒndS(NtP(R3R"R#RRtnewR-(R$((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyR<ós  *!cCsdS(N((R$((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyRIüsN( t__name__t __module__t__doc__RRR&R'R-R<RI(((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyR Hs(   t t StubImageFilecBs)eZdZd„Zd„Zd„ZRS(s"Base class for stub image loaders.cCstdƒ‚dS(Ns+StubImageFile subclass must implement _open(tNotImplementedError(R$((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyRscCsY|jƒ}|dkr.td|jƒ‚n|j|ƒ}|j|_|j|_dS(Ns#cannot find loader for this %s file(t_loadRRtformatR-t __class__t__dict__(R$tloadertimage((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyR-s    cCstdƒ‚dS(Ns+StubImageFile subclass must implement _load(R[(R$((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyR\#s(RWRXRYRR-R\(((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyRZs  tParsercBsAeZdZdZdZdZdZd„Zd„Z d„Z RS(icCsdS(N((R$((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pytreset9sc Csl|jr dS|jdkr(||_n|j||_|jr |jdkr«tt|jƒ|jƒ}|j||_|j||_|jdks¤|j r«dSn|jj|jƒ\}}|dkr d|_d|_|dkrd|_t |ƒq dSn|j||_nH|jr,n<y7z%t j |jƒ}t j |ƒ}Wd|jƒXWntk rvnņXt|dƒp’t|dƒ}|s°t|jƒdkr¼d|_n£|jƒ|jd\}}} } g|_t j|j|| |jƒ|_|jj|j|ƒ| |_|jt|jƒkr_|j|j|_d|_n||_dS(NiiR?R=(tfinishedtdataRtdecodertoffsettminR.RGRaR tiotBytesIORRtcloseRR0RR<RBR"RRCR3( R$RetskipRTRLRR3tflagRKRMRN((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pytfeedBsX                cCsÆ|jrA|jdƒd|_|_|jsAtdƒ‚qAn|jsYtdƒ‚n|jrØz(tj|jƒ}t j |ƒ|_Wd|jj ƒ|j ƒXn|jS(NR+simage was incompletescannot parse this image( RfRnRReRdRRaRiRjRRR-Rk(R$R((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyRk—s      N( RWRXRt incrementalRaReRfRdRcRnRk(((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyRb,s Uic Cs |jƒt|dƒs%d|_n|jdtƒtt||jddƒ}y|jƒ}|j ƒWnāt t j fk rPxg|D]½\}}}}t j|j|||jƒ}|dkrŪ|j|dƒn|j|j|ƒx9tr)|j|ƒ\} } } |j| ƒ| rńPqńqńW| dkrŒtd| ƒ‚qŒqŒWnŸXx›|D]“\}}}}t j|j|||jƒ}|dkr§|j|dƒn|j|j|ƒ|j||ƒ} | dkrXtd| ƒ‚qXqXWy|j ƒWnnXdS(s'Helper to save image based on tile listt encoderconfigR*iis(encoder error %d when writing image fileN((R-R0RpR@R tmaxRR#R8tflushRRitUnsupportedOperationRt _getencoderR"R1RCR3REtencodetwriteRtencode_to_file( R3RRtbufsizetfhRLRQRMRNtlRRRK((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyt_save¶sB         cCsŽ|dkrdS|tkr)|j|ƒSg}xO|dkr€|jt|tƒƒ}|s`Pn|j|ƒ|t|ƒ}q2Wdj|ƒS(NiR+(t SAFEBLOCKR>RhtappendR.tjoin(RR#Retblock((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyt _safe_readės    i((tPILRRR5RiRR|tFalseRFRR R R RZRbR{R€(((s3/usr/lib64/python2.7/site-packages/PIL/ImageFile.pyts$   ĘŠ 5