fec@sdZdZddlZddlZddlZddlZyddlZWn:ek rdddYZeZejdIJnXej dZ dZ d Z d Z d ejd Zy#ejejd d\ZZWn=ejk r&ZejeIJejeIJejd nXejZeZxAeD]9\ZZedkraejZq=edkr=eZq=q=WesejeIJejd nxFejeeD]2ZerdeGHne eZereGHqqWdS(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.scoding[=:]\s*([-\w.]+)cCs&tj|}|r"|jdSdS(Nit(tdecl_retsearchtgroup(tlinetmatch((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|sXt|rf|jtS|j}|jt|||drtSt S(NtrUtascii( topentIOErrorRtreadlineRtcloseR treadR$R!(tfullpathtinfiletline1tline2trest((s2/usr/lib64/python2.7/Tools/scripts/findnocoding.pytneeds_declaration3s      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 ImportErrortstderrtcompileRRR$R1targvtusagetoptsR terrortmsgtexitRt is_pythonR tdebugtotaRR!RR,tresult(((s2/usr/lib64/python2.7/Tools/scripts/findnocoding.pytsF0     #