summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2011-07-26 15:38:04 (GMT)
committerJason R. Coombs <jaraco@jaraco.com>2011-07-26 15:38:04 (GMT)
commit76eec3db2173079ce103fbd3ac53892ddec8b963 (patch)
tree6b48f8a702f312c8b35cd898eb1f35df77386377 /Tools
parent1322bd4971b9aee0a4a18ae1c12c6257308b4a52 (diff)
downloadcpython-76eec3db2173079ce103fbd3ac53892ddec8b963.zip
cpython-76eec3db2173079ce103fbd3ac53892ddec8b963.tar.gz
cpython-76eec3db2173079ce103fbd3ac53892ddec8b963.tar.bz2
Issue #10639: reindent.py tool now accepts a --newline option to specify the newline to be used in the output of converted files.
Diffstat (limited to 'Tools')
-rwxr-xr-xTools/scripts/reindent.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/Tools/scripts/reindent.py b/Tools/scripts/reindent.py
index b18993b..ed66bc1 100755
--- a/Tools/scripts/reindent.py
+++ b/Tools/scripts/reindent.py
@@ -8,6 +8,8 @@
-r (--recurse) Recurse. Search for all .py files in subdirectories too.
-n (--nobackup) No backup. Does not make a ".bak" file before reindenting.
-v (--verbose) Verbose. Print informative msgs; else no output.
+ (--newline) Newline. Specify the newline character to use (CRLF, LF).
+ Default is the same as the original file.
-h (--help) Help. Print this usage information and exit.
Change Python (.py) files to use 4-space indents and no hard tab characters.
@@ -65,10 +67,11 @@ def errprint(*args):
def main():
import getopt
- global verbose, recurse, dryrun, makebackup
+ global verbose, recurse, dryrun, makebackup, spec_newline
+ spec_newline = None
try:
opts, args = getopt.getopt(sys.argv[1:], "drnvh",
- ["dryrun", "recurse", "nobackup", "verbose", "help"])
+ ["dryrun", "recurse", "nobackup", "verbose", "newline=", "help"])
except getopt.error as msg:
usage(msg)
return
@@ -81,6 +84,11 @@ def main():
makebackup = False
elif o in ('-v', '--verbose'):
verbose = True
+ elif o in ('--newline',):
+ if not a.upper() in ('CRLF', 'LF'):
+ usage()
+ return
+ spec_newline = dict(CRLF='\r\n', LF='\n')[a.upper()]
elif o in ('-h', '--help'):
usage()
return
@@ -118,9 +126,9 @@ def check(file):
errprint("%s: I/O Error: %s" % (file, str(msg)))
return
- newline = r.newlines
+ newline = spec_newline if spec_newline else r.newlines
if isinstance(newline, tuple):
- errprint("%s: mixed newlines detected; cannot process file" % file)
+ errprint("%s: mixed newlines detected; cannot continue without --newline" % file)
return
if r.run():