#!/usr/bin/env python # update-snippets.py # USAGE: update-snippets.py REFERENCE-DIR TARGET-DIR FILES # # update ly snippets in TARGET-DIR/FILES with snippets from REFERENCE-DIR/FILES # # More precisely, each existing FILE in TARGET-DIR is matched to the FILE in # REFERENCE-DIR (it the latter does not exist, a warning is given). # # Shell wildcards expansion is performed on FILES. # This script currently supports Texinfo format. # Ly snippets preceded with a line containing '@c KEEP LY' in TARGET-DIR/FILES # will not be updated. # An error occurs if REFERENCE-DIR/FILE and TARGET-DIR/FILE do not have the # same snippets count. import sys import os import glob import re print "update-snippets.py" comment_re = re.compile (r'(? 0 and (not target_source[j-1].startswith ('@c KEEP LY')) and target_source[j] != ref_source[k]: target_source[j] = ref_source[k] c += 1 changed_snippets_count += 1 f = open (file, 'w') f.write (''.join (target_source)) sys.stderr.write ('%s: %d/%d snippets updated\n' % (file, c, snippet_count)) sys.stderr.write ('\nTotal: %d snippets, %d updated snippets.\n' % (total_snippet_count, changed_snippets_count)) sys.exit (exit_code)