diff options
author | Guido van Rossum <guido@python.org> | 1998-09-14 15:43:38 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1998-09-14 15:43:38 (GMT) |
commit | ce85827ac19154b4b9da610fba4e1739f7b3b71a (patch) | |
tree | bde9ecbb06ff543e2c5b8410706421c1895ac977 /Tools/scripts | |
parent | dcd038ff84b5f98cea9684813412eed76f321498 (diff) | |
download | cpython-ce85827ac19154b4b9da610fba4e1739f7b3b71a.zip cpython-ce85827ac19154b4b9da610fba4e1739f7b3b71a.tar.gz cpython-ce85827ac19154b4b9da610fba4e1739f7b3b71a.tar.bz2 |
Utility to untabify stubber results.
Diffstat (limited to 'Tools/scripts')
-rwxr-xr-x | Tools/scripts/untabify.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Tools/scripts/untabify.py b/Tools/scripts/untabify.py new file mode 100755 index 0000000..1f74973 --- /dev/null +++ b/Tools/scripts/untabify.py @@ -0,0 +1,50 @@ +#! /usr/bin/env python + +"Replace tabs with spaces in argument files. Print names of changed files." + +import os +import sys +import string +import getopt + +def main(): + tabsize = 8 + try: + opts, args = getopt.getopt(sys.argv[1:], "t:") + if not args: + raise getopt.error, "At least one file argument required" + except getopt.error, msg: + print msg + print "usage:", sys.argv[0], "file ..." + return + + for file in args: + process(file, tabsize) + +def process(file, tabsize): + try: + f = open(file) + text = f.read() + f.close() + except IOError, msg: + print "%s: I/O error: %s" % (`file`, str(msg)) + return + newtext = string.expandtabs(text, tabsize) + if newtext == text: + return + backup = file + "~" + try: + os.unlink(backup) + except os.error: + pass + try: + os.rename(file, backup) + except os.error: + pass + f = open(file, "w") + f.write(newtext) + f.close() + print file + +if __name__ == '__main__': + main() |