3
\�8 � @ s� d dl Z d dlZdddddddd d
ddd
gZdad dd�Zdd� Zdd� Zdd� Zdd� Zdd� Z dd� Z
dd � Zdd
� ZG dd� d�Z
dd� Zd!dd
�Zdd� Zedkr�e� dS )"� N�input�close�nextfile�filename�lineno�
filelineno�fileno�isfirstline�isstdin� FileInput�hook_compressed�hook_encodedF� �rc C s( t rt jrtd��t| |||||�a t S )Nzinput() already active)�_state�_file�RuntimeErrorr )�files�inplace�backup�bufsize�mode�openhook� r �!/usr/lib64/python3.6/fileinput.pyr S s
c C s t } d a | r| j� d S )N)r r )�stater r r r a s c C s t std��t j� S )Nzno active input())r r r r r r r r i s
c C s t std��t j� S )Nzno active input())r r r r r r r r w s c C s t std��t j� S )Nzno active input())r r r r r r r r � s c C s t std��t j� S )Nzno active input())r r r r r r r r � s c C s t std��t j� S )Nzno active input())r r r r r r r r � s c C s t std��t j� S )Nzno active input())r r r r r r r r � s c C s t std��t j� S )Nzno active input())r r r
r r r r r
� s c @ s� e Zd Zd(dd�Zdd � 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 |t�r|f}n(|d kr(tjdd � }|s2d}nt|�}|| _|| _|| _|rhdd l}|j dt
dd� d | _d | _d | _
d| _d| _d | _d| _d | _|dkr�td��d
|kr�dd l}|j d
t
d� || _|r�|r�td��t|�s�td��|| _d S )N� �-r z!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 )r r r! r" )�
isinstance�str�sys�argv�tuple�_files�_inplace�_backup�warnings�warn�DeprecationWarning�_savestdout�_output� _filename�_startlineno�_filelinenor �_isstdin�_backupfilename�
ValueError�_mode�callable� _openhook)�selfr r r r r r r+ r r r �__init__� sF
zFileInput.__init__c C s | j � d S )N)r )r9 r r r �__del__� s zFileInput.__del__c C s z| j � W d f | _X d S )N)r r( )r9 r r r r � s zFileInput.closec C s | S )Nr )r9 r r r � __enter__� s zFileInput.__enter__c C s | j � d S )N)r )r9 �type�value� tracebackr r r �__exit__� s zFileInput.__exit__c C s | S )Nr )r9 r r r �__iter__� s zFileInput.__iter__c C s: x4| j � }|r | jd7 _|S | js*t�| j� qW d S )Nr )� _readliner2 r �
StopIterationr )r9 �liner r r �__next__� s zFileInput.__next__c C s> || j � krtd��y| j� S tk
r8 td��Y nX d S )Nzaccessing lines out of orderzend of input reached)r r rE rC �
IndexError)r9 �ir r r �__getitem__ s zFileInput.__getitem__c % C s� | j }d | _ |r|t_| j}d | _z|r0|j� W d | j}d | _y| `W n tk
r\ Y nX z|rt| j rt|j� W d | j }d | _ |r�| j
r�ytj|� W n t
k
r� Y nX d| _X X d S )NF)r. r% �stdoutr/ r r rB �AttributeErrorr3 r4 r* �os�unlink�OSError)r9 Z
savestdout�output�fileZbackupfilenamer r r r s4 zFileInput.nextfilec C s: x4| j � }|r | jd7 _|S | js*|S | j� qW d S )Nr )rB r2 r r )r9 rD r r r �readline) s zFileInput.readlinec C s� | j sd| jkrdS dS | j d | _| j dd � | _ | j� | _d| _d | _d| _d| _| jdkr�d| _d| jkr�t t
jd t
j�| _nt
j| _d
| _�nV| j�r�| j| j
p�d | _ytj| j� W n tk
r� Y nX tj| j| j� t| j| j�| _ytj| jj� �j}W n$ tk
�r0 t| jd�| _Y n~X tjtjB tjB }ttd
��rZ|tjO }tj| j||�}tj|d�| _yttd��r�tj| j|� W n tk
�r� Y nX t
j| _| jt
_n,| j �r�| j | j| j�| _nt| j| j�| _| jj!| _"| j"� S )N�b� r r r Fr z