Og d Z ddlmZmZ ddlmZmZmZmZm Z m
Z
mZ dg dfdg dfdd gfgdg d
fdddgfgd
Zed
ed d d Z G d de ZdS )zFix 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.request) URLopenerFancyURLopenerurlretrieve
_urlopenerurlopen
urlcleanuppathname2urlurl2pathname
getproxieszurllib.parse)quote
quote_plusunquoteunquote_plus urlencode splitattr splithost
splitnportsplitpasswd splitport
splitquerysplittag splittype splituser
splitvaluezurllib.errorContentTooShortError)r install_openerbuild_openerRequestOpenerDirectorBaseHandlerHTTPDefaultErrorHandlerHTTPRedirectHandlerHTTPCookieProcessorProxyHandlerHTTPPasswordMgrHTTPPasswordMgrWithDefaultRealmAbstractBasicAuthHandlerHTTPBasicAuthHandlerProxyBasicAuthHandlerAbstractDigestAuthHandlerHTTPDigestAuthHandlerProxyDigestAuthHandlerHTTPHandlerHTTPSHandlerFileHandler
FTPHandlerCacheFTPHandlerUnknownHandlerURLError HTTPError)urlliburllib2r? r> c # K t } t D ]P\ }}|D ]H}|\ }}t | }d|d|dV d|d|d|dV d|z V d |z V d
|d|dV IQd S )
Nzimport_name< 'import' (module=zB
| dotted_as_names< any* module=z any* >) >
zimport_from< 'from' mod_member=z* 'import'
( member=z | import_as_name< member=z] '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 > >
zpower< bare_with_attr=z trailer< '.' member=z > any* >
)setMAPPINGitemsr )bare
old_modulechangeschange
new_modulememberss ?/opt/alt/python311/lib64/python3.11/lib2to3/fixes/fix_urllib.py
build_patternrL 0 s 55D&}} . .
G . .F"(J ))GG $ZZZ1
1
1
1
1 $WWWggg7
7
7
7"#
#
#
#"#
#
#
#
#
$WWW.
.
.
.
.! .. . c , e Zd Zd Zd Zd Zd Zd ZdS ) FixUrllibc D d t S )N|)joinrL )selfs rK rL zFixUrllib.build_patternI s xx
(((rM c | d }|j }g }t |j dd D ]:}| t |d | t
g ;| t t |j d d | | | dS )zTransform for the basic import case. Replaces the old
import name with a comma separated list of its
replacements.
moduleNr prefix) getrX rC valueextendr r appendreplace)rS noderesults
import_modprefnamesnames rK transform_importzFixUrllib.transform_importL s
[[**
J,-crc2 @ @DLL$tAwt444egg>????
T'*"23B7:4HHHIII5!!!!!rM c | d }|j }| d }|rt |t r|d }d}t |j D ]}|j |d v r
|d } n|r&| t || dS | |d dS g }i } |d }
|
D ]}|j t j k r%|j d j }|j d j }n |j }d}|d
k rst |j D ]`}||d v rT|d | vr|
|d | |d g
| ag }
t | }d}d }|D ]}| | }g }|dd
D ]B}| ||| |
t# C| ||d
| t% || }|r|j j | r||_ |
| d}|
rdg }|
dd
D ]%}| |t+ g &|
|
d
| | dS | |d dS )zTransform for imports of specific module elements. Replaces
the module to be imported from with the appropriate new
module.
mod_membermemberr Nr@ rW !This is an invalid module elementrJ ,Tc L | j t j k ryt | j d j | | j d | j d g}t t j | gS t | j | gS )Nr rW r@ ri )typer import_as_namer childrenrZ cloner
)rc rX kidss rK handle_namez/FixUrllib.transform_member.