3 ª fèã@s<dZddlmZddlmZdddœZGdd„dejƒZd S) z¢Fixer for unicode. * Changes unicode to str and unichr to chr. * If "...\u..." is not unicode literal change it into "...\\u...". * Change u"..." into "...". é)Útoken)Ú fixer_baseÚchrÚstr)ZunichrZunicodecs,eZdZdZdZ‡fdd„Zdd„Z‡ZS)Ú FixUnicodeTzSTRING | 'unicode' | 'unichr'cs"tt|ƒj||ƒd|jk|_dS)NÚunicode_literals)ÚsuperrÚ start_treeZfuture_featuresr)ÚselfZtreeÚfilename)Ú __class__©ú>/opt/alt/python36/lib64/python3.6/lib2to3/fixes/fix_unicode.pyr szFixUnicode.start_treecCs¨|jtjkr$|jƒ}t|j|_|S|jtjkr¤|j}|j rl|ddkrld|krldjdd„|j dƒDƒƒ}|ddkr„|dd…}||jkr’|S|jƒ}||_|SdS) Néz'"ú\z\\cSs g|]}|jddƒjddƒ‘qS)z\uz\\uz\Uz\\U)Úreplace)Ú.0Úvr r rú !sz(FixUnicode.transform..ZuUé) ÚtyperÚNAMEZcloneÚ_mappingÚvalueÚSTRINGrÚjoinÚsplit)r ZnodeZresultsÚnewÚvalr r rÚ transforms"      zFixUnicode.transform)Ú__name__Ú __module__Ú __qualname__Z BM_compatibleZPATTERNr rÚ __classcell__r r )r rrs rN)Ú__doc__Zpgen2rÚrrZBaseFixrr r r rÚ s