]> git.donarmstrong.com Git - lilypond.git/blobdiff - buildscripts/add_html_footer.py
Merge branch 'lilypond/translation' of ssh://trettig@git.sv.gnu.org/srv/git/lilypond...
[lilypond.git] / buildscripts / add_html_footer.py
index 3c1bf0a22594e05281716a780e27f42d209f364f..34ada97aac97d2cb7a5cfc8af0c0c481aab23aec 100644 (file)
@@ -79,7 +79,7 @@ def build_pages_dict (filelist):
                 e = ''
             else:
                 e = g[1]
-            if not g[0] in pages_dict.keys():
+            if not g[0] in pages_dict:
                 pages_dict[g[0]] = [e]
             else:
                 pages_dict[g[0]].append (e)
@@ -90,6 +90,7 @@ def source_links_replace (m, source_val):
 splitted_docs_re = re.compile ('(input/lsr/out-www/lilypond-snippets|Documentation/user/out-www/(lilypond|music-glossary|lilypond-program|lilypond-learning))/')
 
 snippets_ref_re = re.compile (r'href="(\.\./)?lilypond-snippets')
+user_ref_re = re.compile (r'href="(?:\.\./)?lilypond(|-internals|-learning|-program)')
 
 ## Windows does not support symlinks.
 # This function avoids creating symlinks for splitted HTML manuals
@@ -99,8 +100,11 @@ def hack_urls (s, prefix):
     if splitted_docs_re.match (prefix):
         s = re.sub ('(href|src)="(../lily-.*?|.*?[.]png)"', '\\1="../\\2"', s)
 
-    # fix Snippets xrefs ad hoc
-    s = snippets_ref_re.sub ('href="source/input/lsr/lilypond-snippets', s)
+    # fix xrefs between documents in different directories ad hoc
+    if 'user/out-www/lilypond' in prefix:
+        s = snippets_ref_re.sub ('href="source/input/lsr/lilypond-snippets', s)
+    elif 'input/lsr' in prefix:
+        s = user_ref_re.sub ('href="source/Documentation/user/lilypond\\1', s)
 
     source_path = os.path.join (os.path.dirname (prefix), 'source')
     if not os.path.islink (source_path):
@@ -202,7 +206,7 @@ def process_links (s, prefix, lang_ext, file_name, missing, target):
     return page_flavors
 
 def add_menu (page_flavors, prefix, available, target, translation):
-    for k in page_flavors.keys():
+    for k in page_flavors:
         language_menu = ''
         languages = ''
         if page_flavors[k][0] != '':
@@ -280,9 +284,9 @@ def add_html_footer (package_name = '',
                 page_flavors = add_menu (page_flavors, prefix, available, target, translation)
             subst = dict ([i for i in globals().items() if type (i[1]) is str])
             subst.update (dict ([i for i in locals().items() if type (i[1]) is str]))
-            for k in page_flavors.keys():
-                if page_flavors[k][0] in translation.keys():
-                    for name in subst.keys():
+            for k in page_flavors:
+                if page_flavors[k][0] in translation:
+                    for name in subst:
                         subst[name] = translation[page_flavors[k][0]] (subst[name])
                 subst['footer_name_version'] = subst['footer_name_version'] % subst
                 subst['footer_report_errors'] = subst['footer_report_errors'] % subst