File: //usr/lib64/python3.6/__pycache__/shlex.cpython-36.opt-2.pyc
3
  \�2  �               @   s�   d dl Z d dlZd dlZd dlmZ d dlmZ dddgZG dd� d�Zdd
d�Z	ej
dej�jZ
dd� Zd
d� Zedkr�eej�dkr�ee� � n,ejd Zee��Zeeee�� W dQ R X dS )�    N)�deque)�StringIO�shlex�split�quotec               @   sb   e Zd Zddd�Zdd� Zddd�Zd	d
� Zdd� Zd
d� Zdd� Z	ddd�Z
dd� Zdd� ZdS )r   NFc             C   s  t |t�rt|�}|d k	r(|| _|| _ntj| _d | _|| _|rHd | _nd| _d| _	d| _
| jrn|  j
d7  _
d| _d| _d| _
d| _d	| _d
| _t� | _d| _d| _d| _t� | _d | _|s�d}n|d
kr�d}|| _|�rt� | _|  j
d7  _
| j
jtj|��}| j
j|�| _
d S )N� �#Z?abcdfeghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_u|   ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞz 	
Fz'"�\�"� �   r   Tz();<>|&z~-./*?=)�
isinstance�strr   �instream�infile�sys�stdin�posix�eof�
commenters�	wordchars�
whitespace�whitespace_split�quotes�escape�
escapedquotes�stater   �pushback�lineno�debug�token�	filestack�source�punctuation_chars�_pushback_chars�	maketrans�dict�fromkeys�	translate)�selfr   r   r   r#   �t� r+   �/usr/lib64/python3.6/shlex.py�__init__   sJ    
zshlex.__init__c             C   s*   | j dkrtdt|� � | jj|� d S )Nr   zshlex: pushing token )r   �print�reprr   �
appendleft)r)   �tokr+   r+   r,   �
push_tokenD   s    
zshlex.push_tokenc             C   sp   t |t�rt|�}| jj| j| j| jf� || _|| _d| _| jrl|d k	r\t	d| jf � nt	d| jf � d S )Nr   zshlex: pushing to file %szshlex: pushing to stream %s)
r
   r   r   r!   r0   r   r   r   r   r.   )r)   �	newstream�newfiler+   r+   r,   �push_sourceJ   s    
zshlex.push_sourcec             C   sD   | j j�  | jj� \| _| _ | _| jr:td| j | jf � d| _d S )Nzshlex: popping to %s, line %dr   )	r   �closer!   �popleftr   r   r   r.   r   )r)   r+   r+   r,   �
pop_sourceX   s    
zshlex.pop_sourcec             C   s�   | j r.| j j� }| jdkr*tdt|� � |S | j� }| jd k	r~x<|| jkr|| j| j� �}|rr|\}}| j||� | j	� }qBW x*|| j
kr�| js�| j
S | j�  | j	� }q�W | jdkr�|| j
kr�tdt|� � ntd� |S )Nr   zshlex: popping token z
shlex: token=zshlex: token=EOF)
r   r7   r   r.   r/   �
read_tokenr"