+ def text_record_string (self):
+ return '%-30f %-20s\n' % (self.distance (),
+ self.name ())
+ def distance (self):
+ return 0.0
+
+ def name (self):
+ return ''
+
+ def link_files_for_html (self, old_dir, new_dir, dest_dir):
+ pass
+
+ def write_html_system_details (self, dir1, dir2, dest_dir):
+ pass
+
+ def html_record_string (self, old_dir, new_dir):
+ return ''
+
+class MidiFileLink (FileLink):
+ def get_midi (self, f):
+ s = open (f).read ()
+ s = re.sub ('LilyPond [0-9.]+', '', s)
+ return s
+
+ def __init__ (self, f1, f2):
+ self.files = (f1, f2)
+
+ s1 = self.get_midi (self.files[0])
+ s2 = self.get_midi (self.files[1])
+
+ self.same = (s1 == s2)
+
+ def name (self):
+ name = os.path.split (self.files[0])[1]
+ name = re.sub ('.midi', '', name)
+ return name
+
+ def distance (self):
+ ## todo: could use import MIDI to pinpoint
+ ## what & where changed.
+ if self.same:
+ return 0
+ else:
+ return 100;
+ def html_record_string (self, d1, d2):
+ return '''<tr>
+<td>
+%f
+</td>
+<td><tt>%s</tt></td>
+<td><tt>%s</tt></td>
+</tr>''' % ((self.distance(),) + self.files)
+
+class SignatureFileLink (FileLink):