a  ze @sddlmZmZddlmZmZmZmZmZm Z m Z dgdfdgdfddgfgdgd fdd d gfgd Z e d  e ddddZ GdddeZdS)) alternates FixImports)NameComma FromImportNewlinefind_indentationNodesymszurllib.request) Z URLopenerZFancyURLopener urlretrieveZ _urlopenerurlopen urlcleanup pathname2url url2pathname getproxiesz urllib.parse)quote quote_plusunquote unquote_plus urlencode splitattr splithost splitnport splitpasswd splitport splitquerysplittag splittype splituser splitvaluez urllib.errorContentTooShortError)r Zinstall_openerZ build_openerZRequestZOpenerDirectorZ BaseHandlerZHTTPDefaultErrorHandlerZHTTPRedirectHandlerZHTTPCookieProcessorZ ProxyHandlerZHTTPPasswordMgrZHTTPPasswordMgrWithDefaultRealmZAbstractBasicAuthHandlerZHTTPBasicAuthHandlerZProxyBasicAuthHandlerZAbstractDigestAuthHandlerZHTTPDigestAuthHandlerZProxyDigestAuthHandlerZ HTTPHandlerZ HTTPSHandler FileHandlerZ FTPHandlerZCacheFTPHandlerZUnknownHandlerURLError HTTPError)urlliburllib2r%r$ccsvt}tD]b\}}|D]T}|\}}t|}d||fVd|||fVd|Vd|Vd||fVqqdS)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_modulemembersr,L/opt/bitninja-python-dojo/embedded/lib/python3.9/lib2to3/fixes/fix_urllib.py build_pattern0s(r.c@s4eZdZddZddZddZddZd d Zd S) FixUrllibcCs dtS)N|)joinr.)selfr,r,r-r.IszFixUrllib.build_patterncCsv|d}|j}g}t|jddD] }|t|d|dtgq&|tt|jdd|d||dS)Nmodulerprefix) getr6r(valueextendrrappendreplace)r2noderesultsZ import_modprefnamesnamer,r,r-transform_importLs  zFixUrllib.transform_importcCs&|d}|j}|d}|rt|tr0|d}d}t|jD]}|j|dvr>|d}q^q>|rv|t||dn ||dng}i} |d} | D]}|j t j kr|j dj} |j dj} n |j} d} | d krt|jD]B}| |dvr|d| vr | |d| |dg |qqg} t|}d }d d }|D]}| |}g}|dd D]"}||||| tq^|||d |t||}|r|jj|r||_| |d}qB| rg}| dd D]}||tgq| | d ||n ||ddS)N mod_membermemberrr&r5!This is an invalid module elementr+,TcSsX|jtjkrHt|jdj|d|jd|jdg}ttj|gSt|j|dgS)Nrr5r&rE)typer import_as_namerchildrenr8Zcloner )r@r6Zkidsr,r,r- handle_names   z/FixUrllib.transform_member..handle_namer4FzAll module elements are invalid)r7r6 isinstancelistr(r8r;rcannot_convertrGr rHrIr: setdefaultrr9rrparentendswithr)r2r<r=rBr>rCnew_namer*modulesZmod_dictr+Zas_name member_nameZ new_nodesZ indentationfirstrJr3eltsr?eltnewZnodesZnew_noder,r,r-transform_member\sh         zFixUrllib.transform_membercCs~|d}|d}d}t|tr*|d}t|jD]}|j|dvr4|d}qTq4|rn|t||jdn ||ddS)Nbare_with_attrrCrr&r5rD) r7rKrLr(r8r;rr6rM)r2r<r=Z module_dotrCrQr*r,r,r- transform_dots    zFixUrllib.transform_dotcCsz|dr|||n^|dr0|||nF|drH|||n.|dr`||dn|drv||ddS)Nr3rBrYZ module_starzCannot handle star imports.Z module_asz#This module is now multiple modules)r7rArXrZrM)r2r<r=r,r,r- transforms     zFixUrllib.transformN)__name__ __module__ __qualname__r.rArXrZr[r,r,r,r-r/Gs Lr/N)Zlib2to3.fixes.fix_importsrrZlib2to3.fixer_utilrrrrrr r r(r:r.r/r,r,r,r-s,$ !