;ň ( 8?c@sŒdZdZdkZdkZdkZdadadad„Zd„Z d„Z dfd„ƒYZ d „Z e d jo e ƒndS( s;reindent [-d][-r][-v] path ... -d Dry run. Analyze, but don't make any changes to, files. -r Recurse. Search for all .py files in subdirectories too. -v Verbose. Print informative msgs; else no output. Change Python (.py) files to use 4-space indents and no hard tab characters. Also trim excess whitespace from ends of lines, and empty lines at the ends of files. Ensure the last line ends with a newline. Pass one or more file and/or directory paths. When a directory path, all .py files within the directory will be examined, and, if the -r option is given, likewise recursively for subdirectories. Overwrites files in place, renaming the originals with a .bak extension. If reindent finds nothing to change, the file is left alone. If reindent does change a file, the changed file is a fixed-point for reindent (i.e., running reindent on the resulting .py file won't change it again). The hard part of reindenting is figuring out what to do with comment lines. So long as the input files get a clean bill of health from tabnanny.py, reindent should do a good job. s1NicGsKd}x.|D]&}tii|t|ƒƒd}q WtiidƒdS(Nss s (ssepsargssargssyssstderrswritesstr(sargssargssep((sZ/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/ExternalLib/reindent.pyserrprint's  cCsůdk}y#|itiddƒ\}}Wn&|ij o}t|ƒdSnXxe|D]]\}}|djot d7a q\|djot d7a q\|djot d7a q\q\W| otdt ƒdSnx|D]}t|ƒqáWdS(Nisdrvs-ds-rs-vsUsage:(sgetoptssyssargvsoptssargsserrorsmsgserrprintsosasdryrunsrecursesverboses__doc__sargscheck(sasargssosargsmsgsgetoptsopts((sZ/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/ExternalLib/reindent.pysmain.s* #       cCs"tii|ƒotii|ƒ oŁto dG|GHnti|ƒ}xu|D]m}tii ||ƒ}t o$tii|ƒotii|ƒ p|i ƒi dƒot|ƒqQqQWdSntodG|GdGnyt|ƒ}Wn3tj o'}td|t|ƒfƒdSnXt|ƒ}|iƒ|iƒoÄtodGHto dGHqjnt o˜|d}tii|ƒoti|ƒnti||ƒtod G|Gd G|GHnt|d ƒ}|i|ƒ|iƒto d G|GHq qnto d GHndS(Nslisting directorys.pyscheckings...s%s: I/O Error: %sschanged.s+But this is a dry run, so leaving it alone.s.baksrenamedstosws wrote news unchanged.(sosspathsisdirsfilesislinksverboseslistdirsnamessnamesjoinsfullnamesrecurseslowersendswithschecksopensfsIOErrorsmsgserrprintsstrs Reindentersrsclosesrunsdryrunsbaksexistssremovesrenameswrite(sfilesnamesfsbaksrsnamessmsgsfullname((sZ/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/ExternalLib/reindent.pyscheckCsL' D        s ReindentercBsVtZdd„Zd„Zd„Zd„Zeieiei ei ei d„Z RS(Ns cCs“d|_d|_||_|iƒ|_gi}|iD]#}||i ƒi ƒ|iƒq;~|_ |i i dtƒd|_g|_dS(Nii(sselfs find_stmtslevelseolsfs readlinessrawsappends_[1]slinesrstrips expandtabsslinessinsertsNonesindexsstats(sselfsfseols_[1]sline((sZ/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/ExternalLib/reindent.pys__init__qs   @ cCsti|i|iƒ|i} x*| o| d|ijo| iƒq"W|i}|it | ƒdfƒh}g}|_ xkt t |ƒdƒD]S} || \}}|| dd} t| |ƒ}|d}|djo8|o'|i|dƒ}|djosxpt| dt |ƒdƒD]M} || \}}|djo*|t| |ƒjo|d}nPq+q+Wn|djomxjt| dddƒD]N} || \}}|djo+|t||dƒt| |ƒ}Pq¤q¤Wn|djo |}qqd}n|||<||}|djp |djo|i| || !ƒq˜xƒ| || !D]t}|djo:||ijo|i|ƒqç|id||ƒqstt|ƒ| ƒ} |i|| ƒqsWq˜W|i|i jSdS(Ni˙˙˙˙iiis (stokenizesselfsgetlines tokeneaterslinesseolspopsstatssappendslens have2wantsaftersrangesisthisstmts thislevelsnextstmts getlspaceshaveswantsgetsxrangesjsjlinesjlevelsdiffsextendslinesminsremovesraw(sselfshaveswantsdiffsstatssthisstmts have2wantsafterslinesnextstmtsisjslinessremovesjlevels thislevelsjline((sZ/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/ExternalLib/reindent.pysrun‡sd          &      cCs|i|iƒdS(N(sfs writelinessselfsafter(sselfsf((sZ/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/ExternalLib/reindent.pyswriteČscCsJ|it|iƒjo d}n |i|i}|id7_|SdS(Nsi(sselfsindexslenslinessline(sselfsline((sZ/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/ExternalLib/reindent.pysgetlineĚs  c Csý|\} } ||jo d|_nÔ||jod|_|id7_nŤ||jod|_|id8_n‚|| jo(|io|i i | dfƒqůnM|| jon<|io1d|_|o|i i | |ifƒqůndS(Nii˙˙˙˙i(sslinesscolstypesNEWLINEsselfs find_stmtsINDENTslevelsDEDENTsCOMMENTsstatssappendsNLsline( sselfstypestokens.6sendslinesINDENTsDEDENTsNEWLINEsCOMMENTsNLsslinesscol((sZ/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/ExternalLib/reindent.pys tokeneaterŐs"            ( s__name__s __module__s__init__srunswritesgetlinestokenizesINDENTsDEDENTsNEWLINEsCOMMENTsNLs tokeneater(((sZ/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/ExternalLib/reindent.pys Reindenteros   A  cCsPdt|ƒf\}}x-||jo||djo|d7}qW|SdS(Nis i(slenslinesisn(slinesisn((sZ/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/ExternalLib/reindent.pys getlspaceüs s__main__(s__doc__s __version__stokenizesosssyssverbosesrecursesdryrunserrprintsmainschecks Reindenters getlspaces__name__( smains getlspacessysstokenizeserrprints __version__sosschecks Reindenter((sZ/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/ExternalLib/reindent.pys?s      ,