U ifu9 @ s d dl Z d dlZdddddddd d ddd gZdad!dddddZdd Zdd Zdd Zdd Zdd Z dd Z dd Zdd ZG dd dZ dd Zd"dd Zdd Zed kre dS )# Ninputclosenextfilefilenamelineno filelinenofilenoisfirstlineisstdin FileInputhook_compressedhook_encodedF rmodeopenhookc C s( t rt jrtdt| ||||da t S )Nzinput() already activer )_state_fileRuntimeErrorr )filesinplacebackupr r r ./opt/alt/python38/lib64/python3.8/fileinput.pyr S s c C s t } d a | r| d S N)r r )stater r r r ` s c C s t stdt S Nzno active input())r r r r r r r r h s c C s t stdt S r )r r r r r r r r v s c C s t stdt S r )r r r r r r r r s c C s t stdt S r )r r r r r r r r s c C s t stdt S r )r r r r r r r r s c C s t stdt S r )r r r r r r r r s c C s t stdt S r )r r r r r r r r s c @ s e Zd Zd(dddddZdd Zd d Zdd Zdd Zdd Zdd Z dd Z dd Zdd Zdd Z dd Zdd Zd d! Zd"d# Zd$d% Zd&d' ZdS ))r NFr r r c C s t |tr|f}nBt |tjr,t|f}n(|d krBtjdd }|sLd}nt|}|| _|| _ || _ d | _d | _d | _ d| _d| _d | _d| _d | _|dkrtdd|krdd l}|dtd || _d|kr|d dnd| _|r|rtdt|std || _d S )N )-r F)r ZrUUrbz=FileInput opening mode must be one of 'r', 'rU', 'U' and 'rb'r z'U' mode is deprecated r wz4FileInput cannot use an opening hook in inplace modez#FileInput openhook must be callable) isinstancestrosPathLikefspathsysargvtuple_files_inplace_backup_savestdout_output _filename_startlineno_filelinenor _isstdin_backupfilename ValueErrorwarningswarnDeprecationWarning_modereplace_write_modecallable _openhook)selfr r r r r r7 r r r __init__ sH zFileInput.__init__c C s | d S r r r? r r r __del__ s zFileInput.__del__c C s z| W 5 d| _ X d S )Nr )r, r rB r r r r s zFileInput.closec C s | S r r rB r r r __enter__ s zFileInput.__enter__c C s | d S r rA )r? typevalue tracebackr r r __exit__ s zFileInput.__exit__c C s | S r r rB r r r __iter__ s zFileInput.__iter__c C s6 | }|r| jd7 _|S | js(t| q d S Nr ) _readliner3 r StopIterationr r? liner r r __next__ s zFileInput.__next__c C sX dd l }|jdtdd || kr,tdz | W S tk rR tdY nX d S )Nr zTSupport for indexing FileInput objects is deprecated. Use iterator protocol instead.r" ) stacklevelzaccessing lines out of orderzend of input reached)r7 r8 r9 r r rO rL IndexError)r? ir7 r r r __getitem__ s zFileInput.__getitem__c C s | j }d | _ |r|t_| j}d | _z|r0| W 5 | j}d | _z| `W n tk r\ Y nX z|rr| jsr| W 5 | j}d | _|r| jszt | W n tk r Y nX d| _X X d S )NF)r/ r) stdoutr0 r rK AttributeErrorr5 r. r&