symbian-qemu-0.9.1-12/python-2.6.1/Tools/scripts/untabify.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     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 
       
    26 def process(filename, tabsize):
       
    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
       
    46     f = open(filename, "w")
       
    47     f.write(newtext)
       
    48     f.close()
       
    49     print filename
       
    50 
       
    51 if __name__ == '__main__':
       
    52     main()