mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Clean up syntax for some scripts.
This commit is contained in:
parent
aba74bddd6
commit
e4a3380bb0
7 changed files with 115 additions and 87 deletions
|
@ -42,26 +42,27 @@ you'd prefer. You can always use the --nobackup option to prevent this.
|
|||
__version__ = "1"
|
||||
|
||||
import tokenize
|
||||
import os, shutil
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
|
||||
verbose = 0
|
||||
recurse = 0
|
||||
dryrun = 0
|
||||
verbose = False
|
||||
recurse = False
|
||||
dryrun = False
|
||||
makebackup = True
|
||||
|
||||
|
||||
def usage(msg=None):
|
||||
if msg is not None:
|
||||
print(msg, file=sys.stderr)
|
||||
print(__doc__, file=sys.stderr)
|
||||
if msg is None:
|
||||
msg = __doc__
|
||||
print(msg, file=sys.stderr)
|
||||
|
||||
|
||||
def errprint(*args):
|
||||
sep = ""
|
||||
for arg in args:
|
||||
sys.stderr.write(sep + str(arg))
|
||||
sep = " "
|
||||
sys.stderr.write(" ".join(str(arg) for arg in args))
|
||||
sys.stderr.write("\n")
|
||||
|
||||
|
||||
def main():
|
||||
import getopt
|
||||
global verbose, recurse, dryrun, makebackup
|
||||
|
@ -73,13 +74,13 @@ def main():
|
|||
return
|
||||
for o, a in opts:
|
||||
if o in ('-d', '--dryrun'):
|
||||
dryrun += 1
|
||||
dryrun = True
|
||||
elif o in ('-r', '--recurse'):
|
||||
recurse += 1
|
||||
recurse = True
|
||||
elif o in ('-n', '--nobackup'):
|
||||
makebackup = False
|
||||
elif o in ('-v', '--verbose'):
|
||||
verbose += 1
|
||||
verbose = True
|
||||
elif o in ('-h', '--help'):
|
||||
usage()
|
||||
return
|
||||
|
@ -91,6 +92,7 @@ def main():
|
|||
for arg in args:
|
||||
check(arg)
|
||||
|
||||
|
||||
def check(file):
|
||||
if os.path.isdir(file) and not os.path.islink(file):
|
||||
if verbose:
|
||||
|
@ -108,13 +110,12 @@ def check(file):
|
|||
if verbose:
|
||||
print("checking", file, "...", end=' ')
|
||||
try:
|
||||
f = open(file)
|
||||
with open(file) as f:
|
||||
r = Reindenter(f)
|
||||
except IOError as msg:
|
||||
errprint("%s: I/O Error: %s" % (file, str(msg)))
|
||||
return
|
||||
|
||||
r = Reindenter(f)
|
||||
f.close()
|
||||
if r.run():
|
||||
if verbose:
|
||||
print("changed.")
|
||||
|
@ -126,9 +127,8 @@ def check(file):
|
|||
shutil.copyfile(file, bak)
|
||||
if verbose:
|
||||
print("backed up", file, "to", bak)
|
||||
f = open(file, "w")
|
||||
r.write(f)
|
||||
f.close()
|
||||
with open(file, "w") as f:
|
||||
r.write(f)
|
||||
if verbose:
|
||||
print("wrote new", file)
|
||||
return True
|
||||
|
@ -137,6 +137,7 @@ def check(file):
|
|||
print("unchanged.")
|
||||
return False
|
||||
|
||||
|
||||
def _rstrip(line, JUNK='\n \t'):
|
||||
"""Return line stripped of trailing spaces, tabs, newlines.
|
||||
|
||||
|
@ -146,10 +147,11 @@ def _rstrip(line, JUNK='\n \t'):
|
|||
"""
|
||||
|
||||
i = len(line)
|
||||
while i > 0 and line[i-1] in JUNK:
|
||||
while i > 0 and line[i - 1] in JUNK:
|
||||
i -= 1
|
||||
return line[:i]
|
||||
|
||||
|
||||
class Reindenter:
|
||||
|
||||
def __init__(self, f):
|
||||
|
@ -192,9 +194,9 @@ class Reindenter:
|
|||
# we see a line with *something* on it.
|
||||
i = stats[0][0]
|
||||
after.extend(lines[1:i])
|
||||
for i in range(len(stats)-1):
|
||||
for i in range(len(stats) - 1):
|
||||
thisstmt, thislevel = stats[i]
|
||||
nextstmt = stats[i+1][0]
|
||||
nextstmt = stats[i + 1][0]
|
||||
have = getlspace(lines[thisstmt])
|
||||
want = thislevel * 4
|
||||
if want < 0:
|
||||
|
@ -206,7 +208,7 @@ class Reindenter:
|
|||
want = have2want.get(have, -1)
|
||||
if want < 0:
|
||||
# Then it probably belongs to the next real stmt.
|
||||
for j in range(i+1, len(stats)-1):
|
||||
for j in range(i + 1, len(stats) - 1):
|
||||
jline, jlevel = stats[j]
|
||||
if jlevel >= 0:
|
||||
if have == getlspace(lines[jline]):
|
||||
|
@ -216,11 +218,11 @@ class Reindenter:
|
|||
# comment like this one,
|
||||
# in which case we should shift it like its base
|
||||
# line got shifted.
|
||||
for j in range(i-1, -1, -1):
|
||||
for j in range(i - 1, -1, -1):
|
||||
jline, jlevel = stats[j]
|
||||
if jlevel >= 0:
|
||||
want = have + getlspace(after[jline-1]) - \
|
||||
getlspace(lines[jline])
|
||||
want = have + (getlspace(after[jline - 1]) -
|
||||
getlspace(lines[jline]))
|
||||
break
|
||||
if want < 0:
|
||||
# Still no luck -- leave it alone.
|
||||
|
@ -295,6 +297,7 @@ class Reindenter:
|
|||
if line: # not endmarker
|
||||
self.stats.append((slinecol[0], self.level))
|
||||
|
||||
|
||||
# Count number of leading blanks.
|
||||
def getlspace(line):
|
||||
i, n = 0, len(line)
|
||||
|
@ -302,5 +305,6 @@ def getlspace(line):
|
|||
i += 1
|
||||
return i
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue