a 97a@sPdZddlmZddlmZmZddlmZmZm Z ddiZ Gddde Z d S) zCFix UserDict. Incomplete! TODO: base this on fix_urllib perhaps? ) fixer_base)Name attr_chain) alternates build_pattern FixImportsUserDict collectionscsTeZdZdZdZeZdZddZfddZ fddZ fd d Z d d Z Z S) FixUserdictTcCsdt|jS)N|)joinrmappingselfry/private/var/folders/s6/9n5zrl012gv99k63s4q6ccsd4s6mqz/T/pip-target-f5cq3f2q/lib/python/libfuturize/fixes/fix_UserDict.pyr5szFixUserdict.build_patterncs||_tt|dSN)rZPATTERNsuperrcompile_patternr __class__rrr8s zFixUserdict.compile_patterncsHtt|j|}|rDd|vr@tfddt|dDr@dS|SdS)Nbare_with_attrc3s|]}|VqdSrr).0objmatchrr Fz$FixUserdict.match..parentF)rrranyr)rnoderesultsrrrr?s zFixUserdict.matchcstt|||i|_dSr)rr start_treereplace)rtreefilenamerrrr#KszFixUserdict.start_treecCs|d}|rl|j}t|j|}|t||jdd|vrH||j|<d|vr||}|r|||n2|dd}|j|j}|r|t||jddS)N module_name)prefixZ name_importZmultiple_importsrr) getvalueunicoderr$rr(r transform)rr!r"Z import_modmod_namenew_nameZ bare_namerrrr,Os    zFixUserdict.transform)__name__ __module__ __qualname__Z BM_compatibleZkeep_line_orderMAPPINGrZ run_orderrrrr#r, __classcell__rrrrr *s  r N) __doc__Zlib2to3rZlib2to3.fixer_utilrrZlib2to3.fixes.fix_importsrrrr2r rrrrs