]> git.proxmox.com Git - mirror_edk2.git/blame - AppPkg/Applications/Python/Python-2.7.2/Tools/scripts/untabify.py
EmbeddedPkg: Extend NvVarStoreFormattedLib LIBRARY_CLASS
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Tools / scripts / untabify.py
CommitLineData
4710c53d 1#! /usr/bin/env python\r
2\r
3"Replace tabs with spaces in argument files. Print names of changed files."\r
4\r
5import os\r
6import sys\r
7import getopt\r
8\r
9def main():\r
10 tabsize = 8\r
11 try:\r
12 opts, args = getopt.getopt(sys.argv[1:], "t:")\r
13 if not args:\r
14 raise getopt.error, "At least one file argument required"\r
15 except getopt.error, msg:\r
16 print msg\r
17 print "usage:", sys.argv[0], "[-t tabwidth] file ..."\r
18 return\r
19 for optname, optvalue in opts:\r
20 if optname == '-t':\r
21 tabsize = int(optvalue)\r
22\r
23 for filename in args:\r
24 process(filename, tabsize)\r
25\r
26def process(filename, tabsize, verbose=True):\r
27 try:\r
28 f = open(filename)\r
29 text = f.read()\r
30 f.close()\r
31 except IOError, msg:\r
32 print "%r: I/O error: %s" % (filename, msg)\r
33 return\r
34 newtext = text.expandtabs(tabsize)\r
35 if newtext == text:\r
36 return\r
37 backup = filename + "~"\r
38 try:\r
39 os.unlink(backup)\r
40 except os.error:\r
41 pass\r
42 try:\r
43 os.rename(filename, backup)\r
44 except os.error:\r
45 pass\r
46 with open(filename, "w") as f:\r
47 f.write(newtext)\r
48 if verbose:\r
49 print filename\r
50\r
51if __name__ == '__main__':\r
52 main()\r