Sindbad~EG File Manager
3
�uGh�C � @ s@ d Z ddlmZmZmZmZmZmZmZm Z ddl
mZmZ ddl
mZ ddl
mZ ddlZdd� Zd3d d
�Zd4dd�Zd5d
d�Zdd� Zdd� Zdd� Zdd� Zd6dd�ZejejejejejfZ ej!ej"fZ#dd� Z$d7dd�Z%dd� Z&dd � Z'd!d"� Z(d#d$� Z)d%d&� Z*d'd(� Z+d)d*� Z,d+Z-d,Z.d-d.� Z/d/d0� Z0d8d1d2�Z1dS )9z�
Utility functions from 2to3, 3to2 and python-modernize (and some home-grown
ones).
Licences:
2to3: PSF License v2
3to2: Apache Software License (from 3to2/setup.py)
python-modernize licence: BSD (from python-modernize/LICENSE)
� )�
FromImport�Newline� is_import� find_root�does_tree_import�Call�Name�Comma)�Leaf�Node)�python_symbols)�tokenNc s~ d� kr� S � j d�r"� dd� � � fdd�|D �}t|�dkr^tdd jd
d� |D �� ��nt|�dkrrtd
��|d S dS )al
Examples:
>>> canonical_fix_name('fix_wrap_text_literals')
'libfuturize.fixes.fix_wrap_text_literals'
>>> canonical_fix_name('wrap_text_literals')
'libfuturize.fixes.fix_wrap_text_literals'
>>> canonical_fix_name('wrap_te')
ValueError("unknown fixer name")
>>> canonical_fix_name('wrap')
ValueError("ambiguous fixer name")
z.fix_Zfix_� Nc s g | ]}|j d j� ��r|�qS )zfix_{0})�endswith�format)�.0�f)�fix� �=/root/tmp/pip-build-gzoz1_uw/future/libfuturize/fixer_util.py�
<listcomp>( s z&canonical_fix_name.<locals>.<listcomp>� zOAmbiguous fixer name. Choose a fully qualified module name instead from these:
�
c s s | ]}d | V qdS )z Nr )r Zmyfr r r � <genexpr>- s z%canonical_fix_name.<locals>.<genexpr>r z1Unknown fixer. Use --list-fixes or -l for a list.)�
startswith�len�
ValueError�join)r Zavail_fixes�foundr )r r �canonical_fix_name s
r c C s t tjd| d�S )N�*)�prefix)r
r
�STAR)r! r r r �Star6 s r# c C s t tjd| d�S )Nz**)r! )r
r
�
DOUBLESTAR)r! r r r �
DoubleStar9 s r% c C s t tjd| d�S )N�-)r! )r
r
�MINUS)r! r r r �Minus<