diff options
author | Phil Holmes <mail@philholmes.net> | 2012-07-20 14:48:00 +0100 |
---|---|---|
committer | Phil Holmes <mail@philholmes.net> | 2012-07-20 15:36:05 +0100 |
commit | 44f7df0a76098408d11b88014040423a9c876155 (patch) | |
tree | 8490f9d3fdb2d2deac42ceaec17fc78520067311 /scripts | |
parent | d8d7985d6027b374744a7c88250b856c4ef7e619 (diff) |
Further updates to makelsr
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/auxiliar/makelsr.py | 45 |
1 files changed, 21 insertions, 24 deletions
diff --git a/scripts/auxiliar/makelsr.py b/scripts/auxiliar/makelsr.py index 01dd903e8c..8d06023b01 100755 --- a/scripts/auxiliar/makelsr.py +++ b/scripts/auxiliar/makelsr.py @@ -268,39 +268,39 @@ def copy_ly (srcdir, name, tags): unsafe.append (dest) def read_source_with_dirs (src): - s = {} - l = {} + snippet_list = {} + tag_list = {} for tag in tags: srcdir = os.path.join (src, tag) - l[tag] = set (map (os.path.basename, + tag_list[tag] = set (map (os.path.basename, glob.glob (os.path.join (srcdir, '*.ly')))) - for f in l[tag]: - if f in s: - s[f][1].append (tag) + for f in tag_list[tag]: + if f in snippet_list: + snippet_list[f][1].append (tag) else: - s[f] = (srcdir, [tag]) - return s, l + snippet_list[f] = (srcdir, [tag]) + return snippet_list tags_re = re.compile ('lsrtags\\s*=\\s*"(.+?)"') def read_source (src): - s = {} - l = dict ([(tag, set()) for tag in tags]) + snippet_list = {} + tag_list = dict ([(tag, set()) for tag in tags]) for f in glob.glob (os.path.join (src, '*.ly')): basename = os.path.basename (f) m = tags_re.search (open (f, 'r').read ()) if m: file_tags = [tag.strip() for tag in m.group (1). split(',')] - s[basename] = (src, file_tags) + snippet_list[basename] = (src, file_tags) for tag in file_tags: if tag in tags: - l[tag].add (basename) + tag_list[tag].add (basename) else: - l[tag] = set ((basename,)) + tag_list[tag] = set ((basename,)) else: notags_files.append (f) - return s, l + return snippet_list, tag_list def dump_file_list (file, file_list): @@ -319,23 +319,20 @@ else: for f in glob.glob (os.path.join (lys_from_lsr, '*.ly')): if new_lys_marker in open (f).read (): os.remove (f) - +snippets = {} if in_dir: # read LSR source where tags are defined by subdirs - snippets, tag_lists = read_source_with_dirs (in_dir) -else: - snippets, tag_lists = read_source (lys_from_lsr) - # in local update we're only interested in retrieving tags - snippets = {} + snippets = read_source_with_dirs (in_dir) # read Documentation/snippets/new where tags are directly defined -s, l = read_source (new_lys) -snippets.update (s) -for t in tags: - tag_lists[t].update (l[t]) +snippets_new, not_used_list = read_source (new_lys) +snippets.update (snippets_new) for (name, (srcdir, file_tags)) in snippets.items (): copy_ly (srcdir, name, file_tags) + +not_used_snippets, tag_lists = read_source (lys_from_lsr) + for (tag, file_set) in tag_lists.items (): dump_file_list (os.path.join (lys_from_lsr, tag + '.snippet-list'), file_set) |