1010def _fix_file (filename , is_markdown ):
1111 with open (filename , mode = 'rb' ) as file_processed :
1212 lines = file_processed .readlines ()
13- lines = [_process_line (line , is_markdown ) for line in lines ]
14- with open (filename , mode = 'wb' ) as file_processed :
15- for line in lines :
16- file_processed .write (line )
13+ newlines = [_process_line (line , is_markdown ) for line in lines ]
14+ if newlines != lines :
15+ with open (filename , mode = 'wb' ) as file_processed :
16+ for line in newlines :
17+ file_processed .write (line )
18+ return True
19+ else :
20+ return False
1721
1822
1923def _process_line (line , is_markdown ):
@@ -55,8 +59,9 @@ def fix_trailing_whitespace(argv=None):
5559 parser .error ('--markdown-linebreak-ext requires a non-empty argument' )
5660 all_markdown = '*' in md_args
5761 # normalize all extensions; split at ',', lowercase, and force 1 leading '.'
58- md_exts = ['.' + x .lower ().lstrip ('.' )
59- for x in ',' .join (md_args ).split (',' )]
62+ md_exts = [
63+ '.' + x .lower ().lstrip ('.' ) for x in ',' .join (md_args ).split (',' )
64+ ]
6065
6166 # reject probable "eaten" filename as extension (skip leading '.' with [1:])
6267 for ext in md_exts :
@@ -69,10 +74,11 @@ def fix_trailing_whitespace(argv=None):
6974
7075 return_code = 0
7176 for bad_whitespace_file in bad_whitespace_files :
72- print ('Fixing {0}' .format (bad_whitespace_file ))
7377 _ , extension = os .path .splitext (bad_whitespace_file .lower ())
74- _fix_file (bad_whitespace_file , all_markdown or extension in md_exts )
75- return_code = 1
78+ md = all_markdown or extension in md_exts
79+ if _fix_file (bad_whitespace_file , md ):
80+ print ('Fixing {}' .format (bad_whitespace_file ))
81+ return_code = 1
7682 return return_code
7783
7884
0 commit comments