File: //usr/local/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_imports2.cpython-39.pyc
a
q�dg�! � @ s� d Z ddlmZ ddlmZmZmZmZmZ ddl m
Z
dZdddd d
ddd
ded ded ed ddd�Zddddddddd�Z
dZdZd Zd!Zd"Zd#Zd$Zd%Zd&Zd'Zd(d)� Zd*d+� ZG d,d-� d-ej�Zd.S )/z
Fixer for complicated imports
� )�
fixer_base)�Name�String�
FromImport�Newline�Comma��touch_import_top)TZACTIVE�ALLZANCHORZARCZBASELINEZBEVELZBOTHZBOTTOMZBROWSEZBUTTZCASCADEZCENTERZCHARZCHECKBUTTONZCHORDZCOMMANDZCURRENTZDISABLEDZDOTBOX�EZENDZEWZ EXCEPTIONZEXTENDED�FALSEZFIRSTZFLATZGROOVEZHIDDENZ
HORIZONTALZINSERTZINSIDEZLAST�LEFTZMITERZMOVETOZMULTIPLE�NZNE�NO�NONE�NORMALZNSZNSEWZNUMERICZNWZOFF�ONZOUTSIDEZPAGESZPIESLICEZ
PROJECTINGZRADIOBUTTONZRAISEDZREADABLEZRIDGE�RIGHTZROUND�SZSCROLLZSEZSELZ SEL_FIRSTZSEL_LASTZ SEPARATORZSINGLEZSOLIDZSUNKENZSWZStringTypesZTOP�TRUEZ
TclVersionZ TkVersionZ UNDERLINE�UNITSZVERTICAL�WZWORDZWRITABLE�X�YZYESZwantobjects)"�AbstractBasicAuthHandler�AbstractDigestAuthHandler�AbstractHTTPHandler�BaseHandler�CacheFTPHandler�
FTPHandler�FileHandler�HTTPBasicAuthHandler�HTTPCookieProcessor�HTTPDefaultErrorHandler�HTTPDigestAuthHandler� HTTPError�HTTPErrorProcessor�HTTPHandler�HTTPPasswordMgr�HTTPPasswordMgrWithDefaultRealm�HTTPRedirectHandler�HTTPSHandler�OpenerDirector�ProxyBasicAuthHandler�ProxyDigestAuthHandler�ProxyHandler�Request�StringIO�URLError�UnknownHandler�
addinfourl�build_opener�install_opener�parse_http_list�parse_keqv_listZrandombytes�request_host�urlopen)�ContentTooShortError�FancyURLopener� URLopenerZbasejoin� ftperrors�
getproxies�getproxies_environment� localhost�pathname2url�quote�
quote_plus� splitattr� splithost�
splitnport�splitpasswd� splitport�
splitquery�splittag� splittype� splituser�
splitvalue�thishost�unquote�unquote_plus�unwrap�url2pathname�
urlcleanup� urlencoder: �urlretrieve)�parse_qs� parse_qsl� urldefrag�urljoin�urlparse�urlsplit�
urlunparse�
urlunsplit)ZndbmZgnuZdumb)�error�open)�whichdb)ZBaseHTTPRequestHandlerZ
HTTPServer)�CGIHTTPRequestHandler)�SimpleHTTPRequestHandler)�
FileDialog�LoadFileDialog�SaveFileDialogZdialogstates�test)Z DirectoryZOpenZSaveAsZ_DialogZaskdirectoryZaskopenfileZaskopenfilenameZaskopenfilenamesZaskopenfilesZ
asksaveasfileZasksaveasfilename)�SimpleDialog)ZaskfloatZ
askintegerZ askstring�Dialog)ZCGIXMLRPCRequestHandlerZSimpleXMLRPCDispatcherZSimpleXMLRPCRequestHandler�SimpleXMLRPCServerZlist_public_methodsZremove_duplicatesZresolve_dotted_attribute)�DocCGIXMLRPCRequestHandler�DocXMLRPCRequestHandler�DocXMLRPCServer�
ServerHTMLDoc�XMLRPCDocGenerator)�urllib2�urllibr[ �dbm�anydbmra �BaseHTTPServer�
CGIHTTPServer�SimpleHTTPServerrd �tkFileDialogrh �tkSimpleDialogrj rm )rp rq )rp rq r[ )rs ra )ru rv rt )rw rd )rx rh )rm rj )zurllib.requestzurllib.errorzurllib.parsezdbm.__init__zhttp.serverztkinter.filedialogztkinter.simpledialogz
xmlrpc.serverz name='%s'z attr='%s'z
using='%s'z$dotted_name=dotted_name< %s '.' %s >z?pow=power< %s trailer< '.' %s > trailer< '.' using=any > any* >z-pow=power< %s trailer< '.' using=any > any* >z�from_import=import_from< 'from' %s 'import' (import_as_name< using=any 'as' renamed=any> | in_list=import_as_names< using=any* > | using='*' | using=NAME) >zSname_import=import_name< 'import' (%s | in_list=dotted_as_names< imp_list=any* >) >z8name_import_rename=dotted_as_name< %s 'as' renamed=any >z�from_import_rename=import_from< 'from' %s 'import' (%s | import_as_name< %s 'as' renamed=any > | in_list=import_as_names< any* (%s | import_as_name< %s 'as' renamed=any >) any* >) >c C sN dd� t D �} dd�dd� | D �� }|d7 }|d�dd� | D ��d 7 }|S )zI
Builds a pattern for all toplevel names
(urllib, http, etc)
c S s g | ]}|� d ��qS )�.)�split��.0�mod� r~ �J/usr/local/lib/python3.9/site-packages/libpasteurize/fixes/fix_imports2.py�
<listcomp>� � z*all_modules_subpattern.<locals>.<listcomp>z( z | c S s( g | ] }t t|d t|d f �qS )r � )�dotted_name�simple_name�simple_attrr{ r~ r~ r r� � s �
�c S s$ g | ]}|d dkrt |d �qS )r� �__init__r )r� r{ r~ r~ r r� � r� z ))�MAPPING�join)Znames_dot_attrs�retr~ r~ r �all_modules_subpattern� s �
r� c c s� t t� V | �� D ]�\}}|�d�\}}t| }t| }t||f }t| V t||f V |dkrzt| V t | V t
| V t|||||f V qdS )z�
mapping1: A dict mapping py3k modules to all possible py2k replacements
mapping2: A dict mapping py2k modules to the things they do
This builds a HUGE pattern to match all ways that things can be imported
ry r� N)�from_importr� �itemsrz r� r� r� �name_import�
power_twoname�
power_onename�name_import_rename�from_import_rename) Zmapping1Zmapping2Zpy3kZpy2k�name�attrZs_nameZs_attrZd_namer~ r~ r �build_import_pattern� s
r� c @ s( e Zd ZdZd�eee��Zdd� Z dS )�FixImports2� z |
c C s t dd|� d S )N�futureZstandard_libraryr )�self�node�resultsr~ r~ r � transform� s zFixImports2.transformN)
�__name__�
__module__�__qualname__Z run_orderr� r� r� �
PY2MODULESZPATTERNr� r~ r~ r~ r r� � s r� N)�__doc__Zlib2to3r Zlib2to3.fixer_utilr r r r r Zlibfuturize.fixer_utilr Z
TK_BASE_NAMESr� r� r� r� Zsimple_usingr� r� r� r� r� r� r� r� r� ZBaseFixr� r~ r~ r~ r �<module> sT
�=�