grthtrhthjhtyjytjytkergtrhtrjytjerhrfh3 \‡8ã @s´ddlZddlZdddddddd d d d d g Zdad dd„Zdd„Zdd„Zdd„Zdd„Zdd„Z dd„Z dd „Z dd „Z Gdd „d ƒZ dd „Zd!dd „Zdd„Zedkr°eƒdS)"éNÚinputÚcloseÚnextfileÚfilenameÚlinenoÚ filelinenoÚfilenoÚ isfirstlineÚisstdinÚ FileInputÚhook_compressedÚ hook_encodedFÚÚrcCs(trtjrtdƒ‚t||||||ƒatS)Nzinput() already active)Ú_stateÚ_fileÚ RuntimeErrorr )ÚfilesÚinplaceÚbackupÚbufsizeÚmodeÚopenhook©rú!/usr/lib64/python3.6/fileinput.pyrSs cCst}da|r|jƒdS)N)rr)ÚstaterrrrascCsts tdƒ‚tjƒS)Nzno active input())rrrrrrrris cCsts tdƒ‚tjƒS)Nzno active input())rrrrrrrrwscCsts tdƒ‚tjƒS)Nzno active input())rrrrrrrr€scCsts tdƒ‚tjƒS)Nzno active input())rrrrrrrrŠscCsts tdƒ‚tjƒS)Nzno active input())rrrrrrrr”scCsts tdƒ‚tjƒS)Nzno active input())rrr rrrrr �scCsts tdƒ‚tjƒS)Nzno active input())rrr rrrrr ¦sc@s–eZdZd(dd„Zdd „Zd d „Zd d „Zdd„Zdd„Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„ZdS))r NFrrrcCsöt|tƒr|f}n(|dkr(tjdd…}|s2d}nt|ƒ}||_||_||_|rhddl}|j dt dd�d|_ d|_ d|_ d|_d|_d|_d|_d|_|dkr¨td ƒ‚d |krÆddl}|j d t dƒ||_|rì|rÜtdƒ‚t|ƒsìtdƒ‚||_dS)Néú-rz!bufsize is deprecated and ignoredé)Ú stacklevelFrÚrUÚUÚrbz=FileInput opening mode must be one of 'r', 'rU', 'U' and 'rb'z'U' mode is deprecatedz4FileInput cannot use an opening hook in inplace modez#FileInput openhook must be callable)r)rr r!r")Ú isinstanceÚstrÚsysÚargvÚtupleÚ_filesÚ_inplaceÚ_backupÚwarningsÚwarnÚDeprecationWarningÚ _savestdoutÚ_outputÚ _filenameÚ _startlinenoÚ _filelinenorÚ_isstdinÚ_backupfilenameÚ ValueErrorÚ_modeÚcallableÚ _openhook)Úselfrrrrrrr+rrrÚ__init__¼sF  zFileInput.__init__cCs |jƒdS)N)r)r9rrrÚ__del__æszFileInput.__del__c Csz |jƒWdf|_XdS)N)rr()r9rrrrés zFileInput.closecCs|S)Nr)r9rrrÚ __enter__ïszFileInput.__enter__cCs |jƒdS)N)r)r9ÚtypeÚvalueÚ tracebackrrrÚ__exit__òszFileInput.__exit__cCs|S)Nr)r9rrrÚ__iter__õszFileInput.__iter__cCs:x4|jƒ}|r |jd7_|S|js*t‚|jƒqWdS)Nr)Ú _readliner2rÚ StopIterationr)r9ÚlinerrrÚ__next__øszFileInput.__next__c Cs>||jƒkrtdƒ‚y|jƒStk r8tdƒ‚YnXdS)Nzaccessing lines out of orderzend of input reached)rrrErCÚ IndexError)r9ÚirrrÚ __getitem__s  zFileInput.__getitem__c%CsÂ|j}d|_|r|t_|j}d|_z|r0|jƒWd|j}d|_y|`Wntk r\YnXz|rt|j rt|jƒWd|j }d|_ |r´|j r´yt j |ƒWnt k r²YnXd|_XXdS)NF)r.r%Ústdoutr/rrrBÚAttributeErrorr3r4r*ÚosÚunlinkÚOSError)r9Z savestdoutÚoutputÚfileZbackupfilenamerrrr s4    zFileInput.nextfilecCs:x4|jƒ}|r |jd7_|S|js*|S|jƒqWdS)Nr)rBr2rr)r9rDrrrÚreadline)szFileInput.readlinecCsþ|jsd|jkrdSdS|jd|_|jdd…|_|jƒ|_d|_d|_d|_d|_|jdkr–d|_d|jkr„t t j d t j ƒ|_nt j |_d |_�nV|j �rÀ|j|j pªd |_ytj|jƒWntk rÔYnXtj|j|jƒt|j|jƒ|_ytj|jjƒƒj}Wn$tk �r0t|jd ƒ|_Yn~XtjtjBtjB}ttd ƒ�rZ|tjO}tj|j||ƒ}tj|d ƒ|_yttdƒ�r”tj|j|ƒWntk �r¬YnXt j|_|jt _n,|j �rÜ|j |j|jƒ|_nt|j|jƒ|_|jj!|_"|j"ƒS)NÚbórrrFrzÚbufferTz.bakÚwÚO_BINARYÚchmod)#r(r6r0rr1r2rr3r4Úgetattrr%Ústdinr)r*rKrLrMÚrenameÚopenÚfstatrÚst_moder/ÚO_CREATÚO_WRONLYÚO_TRUNCÚhasattrrUÚfdopenrVrIr.r8rPrB)r9ZpermrÚfdrrrrB4s\           zFileInput._readlinecCs|jS)N)r0)r9rrrrnszFileInput.filenamecCs |j|jS)N)r1r2)r9rrrrqszFileInput.linenocCs|jS)N)r2)r9rrrrtszFileInput.filelinenoc Cs0|jr(y |jjƒStk r$dSXndSdS)Nréÿÿÿÿrc)rrr5)r9rrrrws  zFileInput.filenocCs |jdkS)Nr)r2)r9rrrr €szFileInput.isfirstlinecCs|jS)N)r3)r9rrrr ƒszFileInput.isstdin)NFrrrN)Ú__name__Ú __module__Ú __qualname__r:r;rr<r@rArErHrrPrBrrrrr r rrrrr ¯s$  )  : cCsVtjj|ƒd}|dkr,ddl}|j||ƒS|dkrHddl}|j||ƒSt||ƒSdS)Nrz.gzrz.bz2)rKÚpathÚsplitextÚgziprZÚbz2ZBZ2File)rrZextrirjrrrr ‡s  cs‡‡fdd„}|S)Ncst||ˆˆd�S)N)ÚencodingÚerrors)rZ)rr)rkrlrrr”szhook_encoded..openhookr)rkrlrr)rkrlrr “scCsæddl}d}d}|jtjdd…dƒ\}}x(|D] \}}|dkrDd}|dkr0|}q0Wxtt|||d�D]b}|dd…d kr„|dd…}|dd…d kr |dd…}td tƒtƒtƒtƒrºd p¼d |fƒqdWtdtƒtƒtƒfƒdS)NrFrzib:z-iTz-b)rrÚ ú z%d: %s[%d]%s %sÚ*rz %d: %s[%d]rcrcrcrc) Úgetoptr%r&rÚprintrrrr )rprrZoptsÚargsÚoÚarDrrrÚ_test™s"  ruÚ__main__)NFrrrN)N)r%rKÚ__all__rrrrrrrrr r r r r rurdrrrrÚKs*         Y