{|j d Z ddlmZmZ ddlmZmZmZmZm Z m
Z
mZ dg dfdg dfdd gfgdg d
fdddgfgd
Zed j ed d d Z G d de Zy)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 j D ]N \ }}|D ]D }|\ }}t | }d|d|d d|d|d|d d|z d |z d
|d|d F P y w)
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 1/usr/lib64/python3.12/lib2to3/fixes/fix_urllib.py
build_patternrL 0 s 5D&}}
GF"(J )G $Z1
1 $Wg7
7"#
#"#
#
$W.
.! /s A1A3c * e Zd Zd Zd Zd Zd Zd Zy) FixUrllibc 4 dj t S )N|)joinrL )selfs rK rL zFixUrllib.build_patternI s xx
(( c R |j d }|j }g }t |j dd D ]+ }|j t |d | t
g - |j t t |j d d | |j | y)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)rR noderesults
import_modprefnamesnames rK transform_importzFixUrllib.transform_importL s
[[*
J,,-cr2DLL$tAwt4eg>? 3
T'*"2"23B7:4HI5!rS c D |j d }|j }|j d }|ryt |t r|d }d}t |j
D ] }|j
|d v s|d } n |r|j
t || y| j |d yg }i } |d }
|
D ] }|j t j k( r3|j d j
}|j d j
}n|j
}d}|d
k7 sgt |j
D ]I }||d v s|d | vr|j |d | j |d g j | K g }
t | }d}d }|D ] }| | }g }|dd
D ]3 }|j! ||| |j t# 5 |j! ||d
| t% || }|r%|j&