mirror of https://github.com/python/cpython
[Patch #1005491 ] use __name__ == '__main__' in scripts
This commit is contained in:
parent
6c542b731c
commit
e236b38731
|
@ -9,48 +9,53 @@
|
|||
import sys, os, time
|
||||
from stat import *
|
||||
|
||||
# Use lstat() to stat files if it exists, else stat()
|
||||
try:
|
||||
statfunc = os.lstat
|
||||
except AttributeError:
|
||||
statfunc = os.stat
|
||||
def main():
|
||||
|
||||
# Parse options
|
||||
if sys.argv[1] == '-m':
|
||||
itime = ST_MTIME
|
||||
del sys.argv[1]
|
||||
elif sys.argv[1] == '-c':
|
||||
itime = ST_CTIME
|
||||
del sys.argv[1]
|
||||
elif sys.argv[1] == '-a':
|
||||
itime = ST_CTIME
|
||||
del sys.argv[1]
|
||||
else:
|
||||
itime = ST_MTIME
|
||||
|
||||
secs_per_year = 365.0 * 24.0 * 3600.0 # Scale factor
|
||||
now = time.time() # Current time, for age computations
|
||||
status = 0 # Exit status, set to 1 on errors
|
||||
|
||||
# Compute max file name length
|
||||
maxlen = 1
|
||||
for filename in sys.argv[1:]:
|
||||
maxlen = max(maxlen, len(filename))
|
||||
|
||||
# Process each argument in turn
|
||||
for filename in sys.argv[1:]:
|
||||
# Use lstat() to stat files if it exists, else stat()
|
||||
try:
|
||||
st = statfunc(filename)
|
||||
except os.error, msg:
|
||||
sys.stderr.write("can't stat %r: %r\n" % (filename, msg))
|
||||
status = 1
|
||||
st = ()
|
||||
if st:
|
||||
anytime = st[itime]
|
||||
size = st[ST_SIZE]
|
||||
age = now - anytime
|
||||
byteyears = float(size) * float(age) / secs_per_year
|
||||
print filename.ljust(maxlen),
|
||||
print repr(int(byteyears)).rjust(8)
|
||||
statfunc = os.lstat
|
||||
except AttributeError:
|
||||
statfunc = os.stat
|
||||
|
||||
sys.exit(status)
|
||||
# Parse options
|
||||
if sys.argv[1] == '-m':
|
||||
itime = ST_MTIME
|
||||
del sys.argv[1]
|
||||
elif sys.argv[1] == '-c':
|
||||
itime = ST_CTIME
|
||||
del sys.argv[1]
|
||||
elif sys.argv[1] == '-a':
|
||||
itime = ST_CTIME
|
||||
del sys.argv[1]
|
||||
else:
|
||||
itime = ST_MTIME
|
||||
|
||||
secs_per_year = 365.0 * 24.0 * 3600.0 # Scale factor
|
||||
now = time.time() # Current time, for age computations
|
||||
status = 0 # Exit status, set to 1 on errors
|
||||
|
||||
# Compute max file name length
|
||||
maxlen = 1
|
||||
for filename in sys.argv[1:]:
|
||||
maxlen = max(maxlen, len(filename))
|
||||
|
||||
# Process each argument in turn
|
||||
for filename in sys.argv[1:]:
|
||||
try:
|
||||
st = statfunc(filename)
|
||||
except os.error, msg:
|
||||
sys.stderr.write("can't stat %r: %r\n" % (filename, msg))
|
||||
status = 1
|
||||
st = ()
|
||||
if st:
|
||||
anytime = st[itime]
|
||||
size = st[ST_SIZE]
|
||||
age = now - anytime
|
||||
byteyears = float(size) * float(age) / secs_per_year
|
||||
print filename.ljust(maxlen),
|
||||
print repr(int(byteyears)).rjust(8)
|
||||
|
||||
sys.exit(status)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -62,4 +62,5 @@ def get_long(s):
|
|||
return -1
|
||||
return ord(s[0]) + (ord(s[1])<<8) + (ord(s[2])<<16) + (ord(s[3])<<24)
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -186,4 +186,5 @@ def fixline(line):
|
|||
|
||||
return head + '(' + basepart + '):' + tail
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -22,4 +22,5 @@ def main():
|
|||
sys.stderr.write(file2 + ': cannot change time\n')
|
||||
sys.exit(2)
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -1,19 +1,24 @@
|
|||
#! /usr/bin/env python
|
||||
|
||||
"Replace CRLF with LF in argument files. Print names of changed files."
|
||||
|
||||
import sys, os
|
||||
for filename in sys.argv[1:]:
|
||||
if os.path.isdir(filename):
|
||||
print filename, "Directory!"
|
||||
continue
|
||||
data = open(filename, "rb").read()
|
||||
if '\0' in data:
|
||||
print filename, "Binary!"
|
||||
continue
|
||||
newdata = data.replace("\r\n", "\n")
|
||||
if newdata != data:
|
||||
print filename
|
||||
f = open(filename, "wb")
|
||||
f.write(newdata)
|
||||
f.close()
|
||||
|
||||
def main():
|
||||
for filename in sys.argv[1:]:
|
||||
if os.path.isdir(filename):
|
||||
print filename, "Directory!"
|
||||
continue
|
||||
data = open(filename, "rb").read()
|
||||
if '\0' in data:
|
||||
print filename, "Binary!"
|
||||
continue
|
||||
newdata = data.replace("\r\n", "\n")
|
||||
if newdata != data:
|
||||
print filename
|
||||
f = open(filename, "wb")
|
||||
f.write(newdata)
|
||||
f.close()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
|
|
|
@ -68,4 +68,5 @@ def getmtime(filename):
|
|||
return 0
|
||||
return st[stat.ST_MTIME]
|
||||
|
||||
sys.exit(main())
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -8,33 +8,38 @@
|
|||
|
||||
import sys, os, time, difflib, optparse
|
||||
|
||||
usage = "usage: %prog [options] fromfile tofile"
|
||||
parser = optparse.OptionParser(usage)
|
||||
parser.add_option("-c", action="store_true", default=False, help='Produce a context format diff (default)')
|
||||
parser.add_option("-u", action="store_true", default=False, help='Produce a unified format diff')
|
||||
parser.add_option("-n", action="store_true", default=False, help='Produce a ndiff format diff')
|
||||
parser.add_option("-l", "--lines", type="int", default=3, help='Set number of context lines (default 3)')
|
||||
(options, args) = parser.parse_args()
|
||||
def main():
|
||||
|
||||
if len(args) == 0:
|
||||
parser.print_help()
|
||||
sys.exit(1)
|
||||
if len(args) != 2:
|
||||
parser.error("need to specify both a fromfile and tofile")
|
||||
usage = "usage: %prog [options] fromfile tofile"
|
||||
parser = optparse.OptionParser(usage)
|
||||
parser.add_option("-c", action="store_true", default=False, help='Produce a context format diff (default)')
|
||||
parser.add_option("-u", action="store_true", default=False, help='Produce a unified format diff')
|
||||
parser.add_option("-n", action="store_true", default=False, help='Produce a ndiff format diff')
|
||||
parser.add_option("-l", "--lines", type="int", default=3, help='Set number of context lines (default 3)')
|
||||
(options, args) = parser.parse_args()
|
||||
|
||||
n = options.lines
|
||||
fromfile, tofile = args
|
||||
if len(args) == 0:
|
||||
parser.print_help()
|
||||
sys.exit(1)
|
||||
if len(args) != 2:
|
||||
parser.error("need to specify both a fromfile and tofile")
|
||||
|
||||
fromdate = time.ctime(os.stat(fromfile).st_mtime)
|
||||
todate = time.ctime(os.stat(tofile).st_mtime)
|
||||
fromlines = open(fromfile).readlines()
|
||||
tolines = open(tofile).readlines()
|
||||
n = options.lines
|
||||
fromfile, tofile = args
|
||||
|
||||
if options.u:
|
||||
diff = difflib.unified_diff(fromlines, tolines, fromfile, tofile, fromdate, todate, n=n)
|
||||
elif options.n:
|
||||
diff = difflib.ndiff(fromlines, tolines)
|
||||
else:
|
||||
diff = difflib.context_diff(fromlines, tolines, fromfile, tofile, fromdate, todate, n=n)
|
||||
fromdate = time.ctime(os.stat(fromfile).st_mtime)
|
||||
todate = time.ctime(os.stat(tofile).st_mtime)
|
||||
fromlines = open(fromfile).readlines()
|
||||
tolines = open(tofile).readlines()
|
||||
|
||||
sys.stdout.writelines(diff)
|
||||
if options.u:
|
||||
diff = difflib.unified_diff(fromlines, tolines, fromfile, tofile, fromdate, todate, n=n)
|
||||
elif options.n:
|
||||
diff = difflib.ndiff(fromlines, tolines)
|
||||
else:
|
||||
diff = difflib.context_diff(fromlines, tolines, fromfile, tofile, fromdate, todate, n=n)
|
||||
|
||||
sys.stdout.writelines(diff)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -56,4 +56,5 @@ def show(total, d, prefix):
|
|||
if d.has_key(key):
|
||||
show(tsub, d[key][1], psub)
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -39,4 +39,5 @@ def visit(prog, dirname, names):
|
|||
except os.error:
|
||||
pass
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -310,4 +310,5 @@ def addsubst(substfile):
|
|||
Dict[key] = value
|
||||
fp.close()
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -45,4 +45,5 @@ def process(filename):
|
|||
print '#endif'
|
||||
print '#endif /*', '!'+magic, '*/'
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -29,5 +29,5 @@ def main():
|
|||
f.write(rest)
|
||||
f.close()
|
||||
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -19,4 +19,5 @@ def main():
|
|||
url = "http://www.google.com/search?q=%s" % s
|
||||
webbrowser.open(url)
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -75,4 +75,5 @@ def main():
|
|||
output.close()
|
||||
webbrowser.open("file:" + os.path.abspath(outputfilename))
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -171,4 +171,5 @@ def process(fp, outfp, env = {}):
|
|||
sys.stderr.write('Warning - could not find file %s\n' %
|
||||
filename)
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#! /usr/bin/env python
|
||||
|
||||
from idlelib.PyShell import main
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -109,4 +109,5 @@ def process(fpi, fpo):
|
|||
if stack:
|
||||
sys.stderr.write('stack: %s\n' % stack)
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -3,17 +3,22 @@
|
|||
"Replace LF with CRLF in argument files. Print names of changed files."
|
||||
|
||||
import sys, re, os
|
||||
for filename in sys.argv[1:]:
|
||||
if os.path.isdir(filename):
|
||||
print filename, "Directory!"
|
||||
continue
|
||||
data = open(filename, "rb").read()
|
||||
if '\0' in data:
|
||||
print filename, "Binary!"
|
||||
continue
|
||||
newdata = re.sub("\r?\n", "\r\n", data)
|
||||
if newdata != data:
|
||||
print filename
|
||||
f = open(filename, "wb")
|
||||
f.write(newdata)
|
||||
f.close()
|
||||
|
||||
def main():
|
||||
for filename in sys.argv[1:]:
|
||||
if os.path.isdir(filename):
|
||||
print filename, "Directory!"
|
||||
continue
|
||||
data = open(filename, "rb").read()
|
||||
if '\0' in data:
|
||||
print filename, "Binary!"
|
||||
continue
|
||||
newdata = re.sub("\r?\n", "\r\n", data)
|
||||
if newdata != data:
|
||||
print filename
|
||||
f = open(filename, "wb")
|
||||
f.write(newdata)
|
||||
f.close()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -76,4 +76,5 @@ def linknames(old, new, link):
|
|||
else:
|
||||
os.symlink(linkname, newname)
|
||||
|
||||
sys.exit(main())
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
||||
|
|
|
@ -13,13 +13,17 @@ def lll(dirname):
|
|||
full = os.path.join(dirname, name)
|
||||
if os.path.islink(full):
|
||||
print name, '->', os.readlink(full)
|
||||
|
||||
args = sys.argv[1:]
|
||||
if not args: args = [os.curdir]
|
||||
first = 1
|
||||
for arg in args:
|
||||
if len(args) > 1:
|
||||
if not first: print
|
||||
first = 0
|
||||
print arg + ':'
|
||||
def main():
|
||||
args = sys.argv[1:]
|
||||
if not args: args = [os.curdir]
|
||||
first = 1
|
||||
for arg in args:
|
||||
if len(args) > 1:
|
||||
if not first: print
|
||||
first = 0
|
||||
print arg + ':'
|
||||
lll(arg)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
|
|
|
@ -177,8 +177,9 @@ def format_output(database):
|
|||
prev.append((date, working_file, rev, author))
|
||||
prevtext = text
|
||||
|
||||
try:
|
||||
main()
|
||||
except IOError, e:
|
||||
if e.errno != errno.EPIPE:
|
||||
raise
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
main()
|
||||
except IOError, e:
|
||||
if e.errno != errno.EPIPE:
|
||||
raise
|
||||
|
|
|
@ -167,5 +167,5 @@ def fixline(line):
|
|||
line = line[:a] + line[c:d] + line[b:]
|
||||
return line
|
||||
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -62,4 +62,5 @@ def main():
|
|||
mkrealfile(name)
|
||||
sys.exit(status)
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -208,7 +208,8 @@ def main():
|
|||
# Use its return value as exit status.
|
||||
# Catch interrupts to avoid stack trace.
|
||||
#
|
||||
try:
|
||||
sys.exit(main())
|
||||
except KeyboardInterrupt:
|
||||
sys.exit(1)
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
sys.exit(main())
|
||||
except KeyboardInterrupt:
|
||||
sys.exit(1)
|
||||
|
|
|
@ -145,4 +145,6 @@ def fixline(line):
|
|||
return line
|
||||
return '#! %s\n' % new_interpreter
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
|
|
|
@ -160,7 +160,8 @@ def printresults(table):
|
|||
|
||||
|
||||
# Call main and honor exit status
|
||||
try:
|
||||
sys.exit(main())
|
||||
except KeyboardInterrupt:
|
||||
sys.exit(1)
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
sys.exit(main())
|
||||
except KeyboardInterrupt:
|
||||
sys.exit(1)
|
||||
|
|
|
@ -49,4 +49,5 @@ def treat_file(filename):
|
|||
s = name + '\t' + filename + '\t/^' + content + '/\n'
|
||||
tags.append(s)
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import pydoc
|
||||
pydoc.cli()
|
||||
if __name__ == '__main__':
|
||||
pydoc.cli()
|
||||
|
|
|
@ -2,4 +2,6 @@
|
|||
# importing itself (Python began allowing import of .pyw files
|
||||
# between 2.2a1 and 2.2a2).
|
||||
import pydoc
|
||||
pydoc.gui()
|
||||
|
||||
if __name__ == '__main__':
|
||||
pydoc.gui()
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
from distutils.core import setup
|
||||
|
||||
setup(
|
||||
scripts=[
|
||||
'byteyears.py',
|
||||
'checkpyc.py',
|
||||
'copytime.py',
|
||||
'crlf.py',
|
||||
'dutree.py',
|
||||
'ftpmirror.py',
|
||||
'h2py.py',
|
||||
'lfcr.py',
|
||||
'logmerge.py',
|
||||
'../../Lib/tabnanny.py',
|
||||
'../../Lib/timeit.py',
|
||||
'untabify.py',
|
||||
],
|
||||
)
|
||||
if __name__ == '__main__':
|
||||
setup(
|
||||
scripts=[
|
||||
'byteyears.py',
|
||||
'checkpyc.py',
|
||||
'copytime.py',
|
||||
'crlf.py',
|
||||
'dutree.py',
|
||||
'ftpmirror.py',
|
||||
'h2py.py',
|
||||
'lfcr.py',
|
||||
'logmerge.py',
|
||||
'../../Lib/tabnanny.py',
|
||||
'../../Lib/timeit.py',
|
||||
'untabify.py',
|
||||
],
|
||||
)
|
||||
|
|
|
@ -26,4 +26,5 @@ def getsuffix(filename):
|
|||
suff = filename[i:]
|
||||
return suff
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -201,4 +201,5 @@ def okay(prompt, answer='ask'):
|
|||
print "Yes or No please -- try again:"
|
||||
return okay(prompt)
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -13,44 +13,49 @@ from stat import *
|
|||
def msg(str):
|
||||
sys.stderr.write(str + '\n')
|
||||
|
||||
pathlist = os.environ['PATH'].split(os.pathsep)
|
||||
def main():
|
||||
pathlist = os.environ['PATH'].split(os.pathsep)
|
||||
|
||||
sts = 0
|
||||
longlist = ''
|
||||
sts = 0
|
||||
longlist = ''
|
||||
|
||||
if sys.argv[1:] and sys.argv[1][:2] == '-l':
|
||||
longlist = sys.argv[1]
|
||||
del sys.argv[1]
|
||||
if sys.argv[1:] and sys.argv[1][:2] == '-l':
|
||||
longlist = sys.argv[1]
|
||||
del sys.argv[1]
|
||||
|
||||
for prog in sys.argv[1:]:
|
||||
ident = ()
|
||||
for dir in pathlist:
|
||||
filename = os.path.join(dir, prog)
|
||||
try:
|
||||
st = os.stat(filename)
|
||||
except os.error:
|
||||
continue
|
||||
if not S_ISREG(st[ST_MODE]):
|
||||
msg(filename + ': not a disk file')
|
||||
else:
|
||||
mode = S_IMODE(st[ST_MODE])
|
||||
if mode & 0111:
|
||||
if not ident:
|
||||
print filename
|
||||
ident = st[:3]
|
||||
else:
|
||||
if st[:3] == ident:
|
||||
s = 'same as: '
|
||||
else:
|
||||
s = 'also: '
|
||||
msg(s + filename)
|
||||
for prog in sys.argv[1:]:
|
||||
ident = ()
|
||||
for dir in pathlist:
|
||||
filename = os.path.join(dir, prog)
|
||||
try:
|
||||
st = os.stat(filename)
|
||||
except os.error:
|
||||
continue
|
||||
if not S_ISREG(st[ST_MODE]):
|
||||
msg(filename + ': not a disk file')
|
||||
else:
|
||||
msg(filename + ': not executable')
|
||||
if longlist:
|
||||
sts = os.system('ls ' + longlist + ' ' + filename)
|
||||
if sts: msg('"ls -l" exit status: ' + repr(sts))
|
||||
if not ident:
|
||||
msg(prog + ': not found')
|
||||
sts = 1
|
||||
mode = S_IMODE(st[ST_MODE])
|
||||
if mode & 0111:
|
||||
if not ident:
|
||||
print filename
|
||||
ident = st[:3]
|
||||
else:
|
||||
if st[:3] == ident:
|
||||
s = 'same as: '
|
||||
else:
|
||||
s = 'also: '
|
||||
msg(s + filename)
|
||||
else:
|
||||
msg(filename + ': not executable')
|
||||
if longlist:
|
||||
sts = os.system('ls ' + longlist + ' ' + filename)
|
||||
if sts: msg('"ls -l" exit status: ' + repr(sts))
|
||||
if not ident:
|
||||
msg(prog + ': not found')
|
||||
sts = 1
|
||||
|
||||
sys.exit(sts)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
sys.exit(sts)
|
||||
|
|
|
@ -109,8 +109,9 @@ def askyesno(prompt):
|
|||
s = raw_input(prompt)
|
||||
return s in ['y', 'yes']
|
||||
|
||||
try:
|
||||
setup()
|
||||
go(getargs())
|
||||
except KeyboardInterrupt:
|
||||
print '[Intr]'
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
setup()
|
||||
go(getargs())
|
||||
except KeyboardInterrupt:
|
||||
print '[Intr]'
|
||||
|
|
Loading…
Reference in New Issue