ó fc@sùdZdZddlZddlZddlZddlZyddlZWn:ek rˆddd„ƒYZeƒZejdIJnXej dƒZ ej dƒZ d „Z d „Z d „Zd ejd Zy#ejejddƒ\ZZWn=ejk r5ZejeIJejeIJejdƒnXejZeZxAeD]9\ZZedkrpejZqLedkrLeZqLqLWes¬ejeIJejdƒnxFejeeƒD]2Zer×deGHneeƒZ e r¿eGHq¿q¿WdS(s_List all those Python files that require a coding directive Usage: nocoding.py dir1 [dir2...] sOleg Broytmann, Georg BrandliÿÿÿÿNtpysourcecBseZdZZZd„ZRS(c os§x |D]˜}tjj|ƒr0|jdƒVqtjj|ƒrxZtj|ƒD]F\}}}x4|D],}|jdƒrhtjj||ƒVqhqhWqRWqqWdS(Ns.py(tostpathtisfiletendswithtisdirtwalktjoin( tselftpathstargstkwargsRtroottdirstfilestfilename((s2/usr/lib64/python2.7/Tools/scripts/findnocoding.pytwalk_python_filess  N(t__name__t __module__tNonethas_python_exttlooks_like_pythontcan_be_compiledR(((s2/usr/lib64/python2.7/Tools/scripts/findnocoding.pyRss^The pysource module is not available; no sophisticated Python source file search will be done.s&^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)s^[ \t\f]*(?:[#\r\n]|$)cCs&tj|ƒ}|r"|jdƒSdS(Nit(tdecl_retmatchtgroup(tlineR((s2/usr/lib64/python2.7/Tools/scripts/findnocoding.pytget_declaration&s cCs.yt||ƒWntk r%tSXtSdS(N(tunicodetUnicodeDecodeErrortFalsetTrue(ttexttcodec((s2/usr/lib64/python2.7/Tools/scripts/findnocoding.pythas_correct_encoding,s  cCsªyt|dƒ}Wntk r'dSX|jƒ}|jƒ}t|ƒsgtj|ƒrut|ƒru|jƒtS|j ƒ}|jƒt |||dƒr¦tSt S(NtrUtascii( topentIOErrorRtreadlineRtblank_reRtcloseRtreadR#R (tfullpathtinfiletline1tline2trest((s2/usr/lib64/python2.7/Tools/scripts/findnocoding.pytneeds_declaration4s       sjUsage: %s [-cd] paths... -c: recognize Python source files trying to compile them -d: debug outputiitcds-cs-dsTesting for coding: %s((!t__doc__t __author__tsysRtretgetoptRt ImportErrortstderrtcompileRR)RR#R1targvtusagetoptsR terrortmsgtexitRt is_pythonRtdebugtotaRR RR,tresult(((s2/usr/lib64/python2.7/Tools/scripts/findnocoding.pytsH0     #