Last change
on this file was 391, checked in by dmik, 11 years ago |
python: Merge vendor 2.7.6 to trunk.
|
-
Property svn:eol-style
set to
native
|
File size:
1.2 KB
|
Rev | Line | |
---|
[2] | 1 | #! /usr/bin/env python
|
---|
| 2 |
|
---|
| 3 | "Replace tabs with spaces in argument files. Print names of changed files."
|
---|
| 4 |
|
---|
| 5 | import os
|
---|
| 6 | import sys
|
---|
| 7 | import getopt
|
---|
| 8 |
|
---|
| 9 | def main():
|
---|
| 10 | tabsize = 8
|
---|
| 11 | try:
|
---|
| 12 | opts, args = getopt.getopt(sys.argv[1:], "t:")
|
---|
| 13 | if not args:
|
---|
| 14 | raise getopt.error, "At least one file argument required"
|
---|
| 15 | except getopt.error, msg:
|
---|
| 16 | print msg
|
---|
| 17 | print "usage:", sys.argv[0], "[-t tabwidth] file ..."
|
---|
| 18 | return
|
---|
| 19 | for optname, optvalue in opts:
|
---|
| 20 | if optname == '-t':
|
---|
| 21 | tabsize = int(optvalue)
|
---|
| 22 |
|
---|
| 23 | for filename in args:
|
---|
| 24 | process(filename, tabsize)
|
---|
| 25 |
|
---|
[391] | 26 | def process(filename, tabsize, verbose=True):
|
---|
[2] | 27 | try:
|
---|
| 28 | f = open(filename)
|
---|
| 29 | text = f.read()
|
---|
| 30 | f.close()
|
---|
| 31 | except IOError, msg:
|
---|
| 32 | print "%r: I/O error: %s" % (filename, msg)
|
---|
| 33 | return
|
---|
| 34 | newtext = text.expandtabs(tabsize)
|
---|
| 35 | if newtext == text:
|
---|
| 36 | return
|
---|
| 37 | backup = filename + "~"
|
---|
| 38 | try:
|
---|
| 39 | os.unlink(backup)
|
---|
| 40 | except os.error:
|
---|
| 41 | pass
|
---|
| 42 | try:
|
---|
| 43 | os.rename(filename, backup)
|
---|
| 44 | except os.error:
|
---|
| 45 | pass
|
---|
[391] | 46 | with open(filename, "w") as f:
|
---|
| 47 | f.write(newtext)
|
---|
| 48 | if verbose:
|
---|
| 49 | print filename
|
---|
[2] | 50 |
|
---|
| 51 | if __name__ == '__main__':
|
---|
| 52 | main()
|
---|
Note:
See
TracBrowser
for help on using the repository browser.