B ãxácèã@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|ƒ ||¡d|jk|_dS)NÚunicode_literals)ÚsuperrÚ start_treeZfuture_featuresr)ÚselfZtreeÚfilename)Ú __class__©ú>/opt/alt/python37/lib64/python3.7/lib2to3/fixes/fix_unicode.pyr szFixUnicode.start_treecCs¦|jtjkr$| ¡}t|j|_|S|jtjkr¢|j}|jsj|ddkrjd|krjd dd„|  d¡Dƒ¡}|ddkr‚|dd…}||jkr|S| ¡}||_|SdS) Néz'"ú\z\\cSs g|]}| dd¡ dd¡‘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