Viewing File: /opt/alt/python38/lib64/python3.8/lib2to3/fixes/__pycache__/fix_urllib.cpython-38.pyc
U
,a @ s d Z ddlmZmZ ddlmZmZmZmZm Z m
Z
mZ dddddd d
ddgfd
dddddddddddddddgfddgfgdd dd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5gfdd6d7gfgd8Zed9
ed: d; d<d= ZG d>d? d?eZd@S )AzFix changes imports of urllib which are now incompatible.
This is rather similar to fix_imports, but because of the more
complex nature of the fixing for urllib, it has its own fixer.
)
alternates
FixImports)NameComma
FromImportNewlinefind_indentationNodesymszurllib.requestZ URLopenerZFancyURLopenerZurlretrieveZ
_urlopenerZurlopenZ
urlcleanupZpathname2urlZurl2pathnamezurllib.parseZquoteZ
quote_plusZunquoteZunquote_plusZ urlencodeZ splitattrZ splithostZ
splitnportZsplitpasswdZ splitportZ
splitqueryZsplittagZ splittypeZ splituserZ
splitvaluezurllib.errorZContentTooShortErrorZinstall_openerZbuild_openerZRequestZOpenerDirectorZBaseHandlerZHTTPDefaultErrorHandlerZHTTPRedirectHandlerZHTTPCookieProcessorZProxyHandlerZHTTPPasswordMgrZHTTPPasswordMgrWithDefaultRealmZAbstractBasicAuthHandlerZHTTPBasicAuthHandlerZProxyBasicAuthHandlerZAbstractDigestAuthHandlerZHTTPDigestAuthHandlerZProxyDigestAuthHandlerZHTTPHandlerZHTTPSHandlerZFileHandlerZ
FTPHandlerZCacheFTPHandlerZUnknownHandlerZURLErrorZ HTTPError)urlliburllib2r r c c sv t } t D ]b\}}|D ]T}|\}}t|}d||f V d|||f V d| V d| V d||f V qqd S )Nzimport_name< 'import' (module=%r
| dotted_as_names< any* module=%r any* >) >
zimport_from< 'from' mod_member=%r 'import'
( member=%s | import_as_name< member=%s 'as' any > |
import_as_names< members=any* >) >
zIimport_from< 'from' module_star=%r 'import' star='*' >
ztimport_name< 'import'
dotted_as_name< module_as=%r 'as' any > >
zKpower< bare_with_attr=%r trailer< '.' member=%s > any* >
)setMAPPINGitemsr )ZbareZ
old_moduleZchangeschangeZ
new_modulemembers r =/opt/alt/python38/lib64/python3.8/lib2to3/fixes/fix_urllib.py
build_pattern0 s( r c @ s4 e Zd Zdd Zdd Zdd Zdd Zd d
ZdS ) FixUrllibc C s d t S )N|)joinr )selfr r r r I s zFixUrllib.build_patternc C sv | d}|j}g }t|j dd D ] }|t|d |dt g q&|tt|j d d |d || dS )zTransform for the basic import case. Replaces the old
import name with a comma separated list of its
replacements.
moduleNr prefix) getr r valueextendr r appendreplace)r noderesultsZ
import_modprefnamesnamer r r transform_importL s
zFixUrllib.transform_importc C s& | d}|j}| d}|rt|tr0|d }d}t|j D ]}|j|d kr>|d } q^q>|rv|t||d n| |d ng }i } |d }
|
D ]}|j t
jkr|jd j}|jd j}n
|j}d}|d
krt|j D ]B}||d kr|d | kr|
|d | |d g
| qqg }
t|}d}dd
}|D ]}| | }g }|dd D ]"}|||| |
t q^|||d | t||}|r|jj|r||_|
| d}qB|
rg }|
dd D ]}||t g q|
|
d || n| |d dS )zTransform for imports of specific module elements. Replaces
the module to be imported from with the appropriate new
module.
mod_membermemberr Nr
r !This is an invalid module elementr ,Tc S sX | j tjkrHt| jd j|d| jd | jd g}ttj|gS t| j|dgS )Nr r r
r, )typer
import_as_namer childrenr Zcloner )r' r Zkidsr r r handle_name s z/FixUrllib.transform_member.<locals>.handle_namer FzAll module elements are invalid)r r
isinstancelistr r r"