���� ������������������������������������  fc@sdZdZddlZddlZddlZddlZyddlZWn:ek rdddYZeZejdIJnXej dZ ej dZ d Z d Z d Zd ejd Zy#ejejdd\ZZWn=ejk r5ZejeIJejeIJejdnXejZeZxAeD]9\ZZedkrpejZqLedkrLeZqLqLWesejeIJejdnxFejeeD]2ZerdeGHneeZ e reGHqqWdS(s_List all those Python files that require a coding directive Usage: nocoding.py dir1 [dir2...] sOleg Broytmann, Georg BrandliNtpysourcecBseZdZZZdZRS(c osx|D]}tjj|r0|jdVqtjj|rxZtj|D]F\}}}x4|D],}|jdrhtjj||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"|jdSdS(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  cCsyt|d}Wntk r'dSX|j}|j}t|sgtj|rut|ru|jtS|j }|jt |||drtSt 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     #