@@ -46,30 +46,18 @@ def get_git_directory():
4646 return subprocess .check_output (['git' , 'rev-parse' , '--show-toplevel' ]).decode ("utf-8" ).strip ()
4747
4848
49- def file_exists (rootdir , filename ):
50- for root , subFolders , files in os .walk (rootdir ):
51- if filename in files :
52- return True
53- else :
54- for subFolder in subFolders :
55- return file_exists (os .path .join (rootdir , subFolder ), filename )
56- return False
57-
58-
5949def generate_filename (sources , filename , git_directory ):
6050 def strip_prefix (line , prefix ):
6151 if line .startswith (prefix ):
6252 return line [len (prefix ):]
6353 else :
6454 return line
6555
66- if not git_directory :
67- git_directory = get_git_directory ()
68-
6956 for source in sources :
70- if file_exists (source , filename ):
57+ if os . path . isfile (source + "/" + filename ):
7158 return strip_prefix (source , git_directory ).strip ("/" ) + "/" + filename .strip ("/" )
7259
60+ logging .debug ("File not found: " + filename )
7361 return filename
7462
7563
@@ -127,6 +115,9 @@ def percent(s):
127115 }
128116
129117 sources = [x .firstChild .nodeValue for x in report_xml .getElementsByTagName ('source' )]
118+ # replace windows style seperator with linux style seperator
119+ for i in range (len (sources )):
120+ sources [i ] = sources [i ].replace ("\\ " , "/" )
130121 classes = report_xml .getElementsByTagName ('class' )
131122 total_lines = 0
132123 for cls in classes :
@@ -202,6 +193,12 @@ def run():
202193 if not args .report :
203194 args .report .append (DEFAULT_REPORT_FILE )
204195
196+ if args .directory :
197+ git_directory = args .directory
198+ else :
199+ git_directory = get_git_directory ()
200+ git_directory .replace ("\\ " , "/" )
201+
205202 # Explictly check ALL files before parsing any
206203 for rfile in args .report :
207204 if not os .path .isfile (rfile ):
@@ -211,7 +208,7 @@ def run():
211208 reports = []
212209 for rfile in args .report :
213210 logging .info ("Parsing report file %s..." , rfile )
214- reports .append (parse_report_file (rfile , args . directory ))
211+ reports .append (parse_report_file (rfile , git_directory ))
215212
216213 report = merge_and_round_reports (reports )
217214
0 commit comments