Your IP : 3.146.37.242


Current Path : /opt/alt/python310/lib64/python3.10/lib2to3/fixes/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/lib2to3/fixes/__pycache__/fix_urllib.cpython-310.opt-1.pyc

o

6��f� �@s�dZddlmZmZddlmZmZmZmZm	Z	m
Z
mZdgd�fdgd�fdd	gfgdgd
�fdddgfgd
�Zed�
edd�dd�ZGdd�de�ZdS)z�Fix 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)�Name�Comma�
FromImport�Newline�find_indentation�Node�symszurllib.request)	Z	URLopenerZFancyURLopenerZurlretrieveZ
_urlopener�urlopenZ
urlcleanupZpathname2urlZurl2pathnameZ
getproxieszurllib.parse)ZquoteZ
quote_plusZunquoteZunquote_plusZ	urlencodeZ	splitattrZ	splithostZ
splitnportZsplitpasswdZ	splitportZ
splitqueryZsplittagZ	splittypeZ	splituserZ
splitvaluezurllib.errorZContentTooShortError)rZinstall_openerZbuild_openerZRequestZOpenerDirectorZBaseHandlerZHTTPDefaultErrorHandlerZHTTPRedirectHandlerZHTTPCookieProcessorZProxyHandlerZHTTPPasswordMgrZHTTPPasswordMgrWithDefaultRealmZAbstractBasicAuthHandlerZHTTPBasicAuthHandlerZProxyBasicAuthHandlerZAbstractDigestAuthHandlerZHTTPDigestAuthHandlerZProxyDigestAuthHandlerZHTTPHandlerZHTTPSHandlerZFileHandlerZ
FTPHandlerZCacheFTPHandlerZUnknownHandlerZURLErrorZ	HTTPError)�urllib�urllib2r
r�ccsx�t�}t��D]1\}}|D]*}|\}}t|�}d||fVd|||fVd|Vd|Vd||fVqqdS)Nz�import_name< 'import' (module=%r
                                  | dotted_as_names< any* module=%r any* >) >
                  z�import_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* >
                  )�set�MAPPING�itemsr)ZbareZ
old_moduleZchanges�changeZ
new_module�members�r�?/opt/alt/python310/lib64/python3.10/lib2to3/fixes/fix_urllib.py�
build_pattern0s.��������rc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�	FixUrllibcCsd�t��S)N�|)�joinr)�selfrrrrIszFixUrllib.build_patterncCsv|�d�}|j}g}t|jdd�D]}|�t|d|d�t�g�q|�tt|jdd|d��|�|�dS)z�Transform for the basic import case. Replaces the old
           import name with a comma separated list of its
           replacements.
        �moduleN���r��prefix)	�getrr�value�extendrr�append�replace)r�node�resultsZ
import_mod�pref�names�namerrr�transform_importLs
 zFixUrllib.transform_importcCs|�d�}|j}|�d�}|rDt|t�r|d}d}t|jD]}|j|dvr.|d}nq|r<|�t||d��dS|�|d�dSg}i}	|d}
|
D]D}|j	t
jkrc|jd	j}|jdj}n|j}d}|d
kr�t|jD] }||dvr�|d|	vr�|�
|d�|	�|dg��
|�qqqNg}
t|�}d}dd
�}|D]A}|	|}g}|dd�D]}|�|||��|�
t��q�|�||d|��t||�}|r�|jj�|�r�||_|
�
|�d}q�|
�rg}|
dd�D]
}|�|t�g�q�|�
|
d�|�|�dS|�|d�dS)z�Transform for imports of specific module elements. Replaces
           the module to be imported from with the appropriate new
           module.
        �
mod_member�memberrNrr�!This is an invalid module elementr��,TcSsX|jtjkr$t|jdj|d�|jd��|jd��g}ttj|�gSt|j|d�gS)Nrrrr-)�typer
�import_as_namer�childrenr Zcloner	)r(rZkidsrrr�handle_name�s�z/FixUrllib.transform_member.<locals>.handle_namerFzAll module elements are invalid)rr�
isinstance�listrr r#r�cannot_convertr/r
r0r1r"�
setdefaultrr!rr�parent�endswithr)rr$r%r*r&r+�new_namer�modulesZmod_dictrZas_name�member_nameZ	new_nodesZindentation�firstr2r�eltsr'�elt�newZnodesZnew_noderrr�transform_member\sl


��

zFixUrllib.transform_membercCs�|�d�}|�d�}d}t|t�r|d}t|jD]}|j|dvr)|d}nq|r8|�t||jd��dS|�|d�dS)z.Transform for calls to module members in code.�bare_with_attrr+Nrrrr,)	rr3r4rr r#rrr5)rr$r%Z
module_dotr+r9rrrr�
transform_dot�s


��zFixUrllib.transform_dotcCs�|�d�r
|�||�dS|�d�r|�||�dS|�d�r'|�||�dS|�d�r4|�|d�dS|�d�rA|�|d�dSdS)Nrr*rAZmodule_starzCannot handle star imports.Z	module_asz#This module is now multiple modules)rr)r@rBr5)rr$r%rrr�	transform�s




�zFixUrllib.transformN)�__name__�
__module__�__qualname__rr)r@rBrCrrrrrGsLrN)�__doc__Zlib2to3.fixes.fix_importsrrZlib2to3.fixer_utilrrrrrr	r
rr"rrrrrr�<module>s0$����
����!

?>