From 5124c584475e6dc2e5eeccba5eb3e67b3c126a99 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Mon, 11 Dec 2006 22:59:07 +0100 Subject: [PATCH] use md5 for hashing ly snippets. This makes snippets lilypond-book documents reproducible across platforms. --- scripts/lilypond-book.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/lilypond-book.py b/scripts/lilypond-book.py index 66e0704e69..6699ba2dcb 100644 --- a/scripts/lilypond-book.py +++ b/scripts/lilypond-book.py @@ -35,6 +35,7 @@ import commands import os import sys import re +import md5 ################ # RELOCATION @@ -1066,17 +1067,20 @@ class Lilypond_snippet (Snippet): d.update (locals()) return (PREAMBLE_LY + body) % d - # TODO: Use md5? def get_hash (self): if not self.hash: - self.hash = abs (hash (self.relevant_contents (self.full_ly ()))) + hash = md5.md5 (self.relevant_contents (self.full_ly ())) + + ## let's not create too long names. + self.hash = hash.hexdigest ()[:10] + return self.hash def basename (self): if FILENAME in self.option_dict: return self.option_dict[FILENAME] if global_options.use_hash: - return 'lily-%d' % self.get_hash () + return 'lily-%s' % self.get_hash () raise 'to be done' def write_ly (self): -- 2.39.5