From 9c0b5a312ad33858809aac504c2085c17cbbb057 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Holcroft Date: Apr 27 2020 18:16:22 +0000 Subject: add asciirdoc attributes and test on uk --- diff --git a/build-scripts/build-translated.py b/build-scripts/build-translated.py index 41b6408..7d2849f 100755 --- a/build-scripts/build-translated.py +++ b/build-scripts/build-translated.py @@ -1,11 +1,12 @@ #!/usr/bin/python3 -import tempfile, yaml, os, errno, subprocess, copy, datetime, shutil, sys +import tempfile, yaml, os, errno, glob, subprocess, copy, datetime, shutil, sys GLOBAL_CONFIG = { "docs_repo_url": "https://pagure.io/fedora-docs/docs-fp-o.git", "docs_repo_branch": "stg", - "translated_sources_repo_url": "https://pagure.io/fedora-docs/translated-sources.git" + "translated_sources_repo_url": "https://pagure.io/fedora-docs/translated-sources.git", + "translated_adockeywords_repo_url": "https://pagure.io/fedora-docs-l10n/asciidoc-keywords.git" } @@ -190,6 +191,32 @@ def init_git_repo(path): subprocess.run(["git", "config", "user.email", "you@example.com"], cwd=path) subprocess.run(["git", "commit", "--allow-empty", "-m", "init"], cwd=path) +def prepare_localized_admonitions(languages): + """ Asciidoc use keywords for admonitions and others items """ + config = GLOBAL_CONFIG + + keywords = {} + + with tempfile.TemporaryDirectory() as workdir: + subprocess.run(["git", "clone", config["translated_adockeywords_repo_url"]], cwd=workdir) + + translated_keywords_repo = os.path.join(workdir, "asciidoc-keywords") + + languages = [] + print(translated_keywords_repo + "/langs/*/asciidoc-attributes.yml") + for filename in glob.glob(translated_keywords_repo + "/langs/*/asciidoc-attributes.yml"): + languages.append(filename.rsplit("/")[::-1][1]) + + for lang in languages: + file = translated_keywords_repo + "/langs/" + lang + "/asciidoc-attributes.yml" + with open(file, 'r') as stream: + try: + keywords[lang] = yaml.load(stream) + except yaml.YAMLError as exc: + print(exc) + + return keywords + def main(): config = GLOBAL_CONFIG @@ -275,6 +302,10 @@ def main(): log("") + log("===== Preparing the translated ascidoc keywords =====") + keywords = prepare_localized_admonitions(languages) + + log("") log("===== Generating site.lang.yml files =====") for lang in languages: lang_site_yml = copy.deepcopy(original_site_yml) @@ -287,6 +318,12 @@ def main(): lang_site_yml["content"]["branches"] = "HEAD" lang_site_yml["content"]["sources"] = [] + if lang in keywords: + if "attributes" in lang_site_yml["asciidoc"]: + lang_site_yml["asciidoc"]["attributes"].append(keywords[lang]) + else: + lang_site_yml["asciidoc"]["attributes"] = keywords[lang] + for component, versions in components.items(): for version in versions: source = {} @@ -306,6 +343,9 @@ def main(): for lang in languages: log("") log("===== Building the {lang} site =====".format(lang=lang)) + if lang is not "uk": + continue + filename = "site-{lang}.yml".format(lang=lang) antora_env["ANTORA_LANGUAGE"] = lang result = subprocess.run(["antora", "--html-url-extension-style=indexify", os.path.join(docs_repo, filename)], env=antora_env)