David,

Oh, the joys of open-source.  Here's my solution for you:
 (1) load your file in your favorite editor
 (2) determine user-desired tab stop setting
 (3) convert all tabs to spaces in your editor (or search replace tabs
with X-spaces)
 (4) save your file

One warning though, I have seen some interpreters crash when they
encounter spaces over tabs.

-- Jason

On Tue, Jan 26, 2010 at 9:12 AM, David Hall <li...@cowsandmilk.net> wrote:
> During my editing of dynoplot.py, I noticed that there were some
> whitespace issues.  Normally I consider whitespace a bikeshedding
> topic, but in python, it is significant, so it matters.  When tabs and
> spaces are mixed, our own personal settings for how tabs are displayed
> in an editor makes a huge difference in whether the script is
> understandable.
>
> I checked out the git repo of pymol scripts (
> http://github.com/jlec/Pymol-script-repo/ ) and did some analysis
>
> First, these files switch between some lines where all indenting is
> tabs to lines where all indenting is spaces:
> Objects_and_Selections/color_objects.py has 8 tab lines and 34 space lines
> ThirdParty_Scripts/WFMesh.py has 52 tab lines and 21 space lines
> biochemical_scripts/pucker.py has 167 tab lines and 5 space lines
> math_geo_cgo/modevectors.py has 160 tab lines and 2 space lines
> structural_biology_scripts/DynoPlot.py has 82 tab lines and 27 space lines
> structural_biology_scripts/Rotamers.py has 86 tab lines and 22 space lines
> structural_biology_scripts/kabsch.py has 51 tab lines and 4 space lines
>
> Second, there are files where the indenting inside a line switches
> back and forth (numbers are the counts of lines that have both tabs
> and spaces in indenting):
> Objects_and_Selections/color_objects.py: 19
> ThirdParty_Scripts/WFMesh.py: 29
> ThirdParty_Scripts/transform_odb.py: 6
> math_geo_cgo/modevectors.py: 12
> structural_biology_scripts/DynoPlot.py: 83
> structural_biology_scripts/Rotamers.py: 86
> structural_biology_scripts/kabsch.py: 1
>
> I've tried using pindent.py (
> http://svn.python.org/projects/python/trunk/Tools/scripts/pindent.py )
> and PythonTidy ( http://pypi.python.org/pypi/PythonTidy/ ) to
> generally fix these, but they both run into problems.  Is there a
> general solution out in the python world to automatically fix this?  I
> don't care whether it produces tabs or spaces.  I just want one or the
> other.  If someone points me to something, I'm more than willing to
> run it on these scripts, push them back to github and copy them back
> onto the wiki.
>
> -David
>
> ------------------------------------------------------------------------------
> The Planet: dedicated and managed hosting, cloud storage, colocation
> Stay online with enterprise data centers and the best network in the business
> Choose flexible plans and management services without long-term contracts
> Personal 24x7 support from experience hosting pros just a phone call away.
> http://p.sf.net/sfu/theplanet-com
> _______________________________________________
> PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net)
> Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
> Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
>



-- 
Jason Vertrees, PhD
PyMOL Product Manager
Schrodinger, LLC

(e) jason.vertr...@schrodinger.com
(o) +1 (603) 374-7120

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net)
Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net

Reply via email to