X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scripts%2Fbuild%2Foutput-distance.py;h=734b366f6b7ed91a0232ac36dae090ab7b7675b5;hb=d1268d3c8de1cbfee0c878265450f9a4b3492805;hp=93483727a8249317d966600f0154cb7043ce1fc1;hpb=44806d55ec42c1b17a3a4da272ce5e5c19ea66b3;p=lilypond.git diff --git a/scripts/build/output-distance.py b/scripts/build/output-distance.py index 93483727a8..734b366f6b 100755 --- a/scripts/build/output-distance.py +++ b/scripts/build/output-distance.py @@ -376,12 +376,18 @@ class FileLink: return '' + def directories (self): + return map (os.path.dirname, self.file_names) + def name (self): base = os.path.basename (self.file_names[1]) base = os.path.splitext (base)[0] base = hash_to_original_name.get (base, base) base = os.path.splitext (base)[0] - return base + return os.path.join (self.prefix (), base) + + def prefix (self): + return os.path.dirname (os.path.commonprefix (self.file_names)) def extension (self): return os.path.splitext (self.file_names[1])[1] @@ -499,7 +505,7 @@ class TextFileCompareLink (FileCompareLink): str = '' if oldnew == 1: str = '\n'.join ([d.replace ('\n','') for d in self.diff_lines]) - str = '
%s
' % str + str = '
%s
' % cgi.escape (str) return str class LogFileCompareLink (TextFileCompareLink): @@ -522,7 +528,7 @@ class ProfileFileLink (FileCompareLink): str += '%-8s: %8d (%5.3f)\n' % (k, int (self.results[oldnew][k]), self.get_ratio (k)) - return '
%s
' % str + return '
%s
' % cgi.escape (str) def get_ratio (self, key): (v1,v2) = (self.results[0].get (key, -1), @@ -821,7 +827,7 @@ class ComparisonData: re.sub (r'\\sourcefilename "([^"]+)"', note_original, open (sf).read ()) else: - print 'no source for', val + print 'no source for', val.file_names[1] def compare_trees (self, dir1, dir2): self.compare_directories (dir1, dir2) @@ -836,6 +842,10 @@ class ComparisonData: sys.exit(1) for d in dirs: + # don't walk the share folders + if d.startswith("share"): + continue + d1 = os.path.join (dir1, d) d2 = os.path.join (dir2, d) @@ -881,14 +891,18 @@ class ComparisonData: self.compare_general_files (klasses[ext], f1, f2) def compare_general_files (self, klass, f1, f2): + prefix = os.path.commonprefix ([f1, f2]) name = os.path.split (f1)[1] + name = os.path.join (prefix, name) file_link = klass (f1, f2) self.file_links[name] = file_link def compare_signature_files (self, f1, f2): + prefix = os.path.commonprefix ([f1, f2]) name = os.path.split (f1)[1] name = re.sub ('-[0-9]+.signature', '', name) + name = os.path.join (prefix, name) file_link = None try: @@ -941,25 +955,31 @@ class ComparisonData: out.write ('%d below threshold\n' % len (below)) out.write ('%d unchanged\n' % len (unchanged)) - def create_text_result_page (self, dir1, dir2, dest_dir, threshold): + def create_text_result_page (self, dest_dir, threshold): self.write_text_result_page (dest_dir + '/index.txt', threshold) - def create_html_result_page (self, dir1, dir2, dest_dir, threshold): - dir1 = dir1.replace ('//', '/') - dir2 = dir2.replace ('//', '/') - + def create_html_result_page (self, dest_dir, threshold): (changed, below, unchanged) = self.thresholded_results (threshold) + header_row = ''' + +distance +%(short_dir1)s +%(short_dir2)s + +''' table_rows = '' - old_prefix = os.path.split (dir1)[1] + old_prefix = None for link in changed: + this_prefix = link.prefix () + if (old_prefix != this_prefix): + old_prefix = this_prefix + short_dir1 = shorten_string (link.directories ()[0], 30) + short_dir2 = shorten_string (link.directories ()[1], 30) + table_rows += header_row % locals() table_rows += link.html_record_string (dest_dir) - - short_dir1 = shorten_string (dir1) - short_dir2 = shorten_string (dir2) - summary = '' below_count = len (below) @@ -1006,11 +1026,6 @@ class ComparisonData:
- - - - - %(table_rows)s
distance%(short_dir1)s%(short_dir2)s
@@ -1039,8 +1054,8 @@ def compare_tree_pairs (tree_pairs, dest_dir, threshold): system ('rm -rf %s '% dest_dir) data.write_changed (dest_dir, threshold) - data.create_html_result_page (dir1, dir2, dest_dir, threshold) - data.create_text_result_page (dir1, dir2, dest_dir, threshold) + data.create_html_result_page (dest_dir, threshold) + data.create_text_result_page (dest_dir, threshold) ################################################################ # TESTING