a XC?h� �@s�ddlmZmZddlmZmZmZmZmZm Z m Z dgd�fdgd�fddgfgdgd �fdd d gfgd �Z e d � e dd�dd�Z Gdd�de�ZdS)�)� alternates� FixImports)�Name�Comma� FromImport�Newline�find_indentation�Node�symszurllib.request) Z URLopenerZFancyURLopenerZ urlretrieveZ _urlopener�urlopenZ urlcleanupZ pathname2urlZ url2pathnameZ getproxiesz urllib.parse)ZquoteZ quote_plusZunquoteZ unquote_plusZ urlencodeZ splitattrZ splithostZ splitnportZ splitpasswdZ splitportZ splitqueryZsplittagZ splittypeZ splituserZ splitvaluez urllib.errorZContentTooShortError)r Zinstall_openerZ build_openerZRequestZOpenerDirectorZ BaseHandlerZHTTPDefaultErrorHandlerZHTTPRedirectHandlerZHTTPCookieProcessorZ ProxyHandlerZHTTPPasswordMgrZHTTPPasswordMgrWithDefaultRealmZAbstractBasicAuthHandlerZHTTPBasicAuthHandlerZProxyBasicAuthHandlerZAbstractDigestAuthHandlerZHTTPDigestAuthHandlerZProxyDigestAuthHandlerZ HTTPHandlerZ HTTPSHandlerZ FileHandlerZ FTPHandlerZCacheFTPHandlerZUnknownHandlerZURLErrorZ HTTPError)�urllib�urllib2r r �ccsvt�}t��D]b\}}|D]T}|\}}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/python39/lib64/python3.9/lib2to3/fixes/fix_urllib.py� build_pattern0s(�����rc@s4eZdZdd�Zdd�Zdd�Zdd�Zd d �Zd S) � FixUrllibcCs d�t��S)N�|)�joinr)�selfrrrrIszFixUrllib.build_patterncCsv|�d�}|j}g}t|jdd�D] }|�t|d|d�t�g�q&|�tt|jdd|d��|�|�dS)N�module�����r��prefix) �getrr�value�extendrr�append�replace)r�node�resultsZ import_mod�pref�names�namerrr�transform_importLs  zFixUrllib.transform_importcCs&|�d�}|j}|�d�}|r�t|t�r0|d}d}t|jD]}|j|dvr>|d}q^q>|rv|�t||d��n |�|d��n�g}i} |d} | D]�}|j t j kr�|j dj} |j dj} n |j} d} | d kr�t|jD]B}| |dvr�|d| v�r |� |d�| �|dg�� |�q�q�g} t|�}d }d d �}|D]�}| |}g}|dd �D]"}|�|||��|� t���q^|�||d |��t||�}|�r�|jj�|��r�||_| � |�d}�qB| �rg}| dd �D]}|�|t�g��q�|� | d �|�|�n |�|d�dS)N� mod_member�memberrrr�!This is an invalid module elementr��,TcSsX|jtjkrHt|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..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_nodesZ indentation�firstr2r�eltsr'�elt�newZnodesZnew_noderrr�transform_member\sh         zFixUrllib.transform_membercCs~|�d�}|�d�}d}t|t�r*|d}t|jD]}|j|dvr4|d}qTq4|rn|�t||jd��n |�|d�dS)N�bare_with_attrr+rrrr,) rr3r4rr r#rrr5)rr$r%Z module_dotr+r9rrrr� transform_dot�s   � zFixUrllib.transform_dotcCsz|�d�r|�||�n^|�d�r0|�||�nF|�d�rH|�||�n.|�d�r`|�|d�n|�d�rv|�|d�dS)Nrr*rAZ module_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 LrN)Zlib2to3.fixes.fix_importsrrZlib2to3.fixer_utilrrrrrr r rr"rrrrrr�s,$���� ����!