From e3b3299acd04cf282dfb91d777b85bf8409a7b06 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Holcroft Date: Sep 24 2023 19:19:48 +0000 Subject: make TM generation based on config file these file processing takes a lot of time and disk space, let's make this optional --- diff --git a/Dockerfile b/Dockerfile index 6adc98b..cc2e937 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,6 +17,7 @@ RUN mkdir -p /src/results /srpms; chmod g+rwX /srpms; chmod -R 1777 /tmp WORKDIR /src COPY *.py *.sh /src/ +COPY configuration.json /src/configuration.json COPY dnf /src/dnf/ COPY website /src/website/ RUN chmod -R g+rwX /src/website diff --git a/build_tm.py b/build_tm.py index 4be4d93..1459d3c 100755 --- a/build_tm.py +++ b/build_tm.py @@ -52,6 +52,14 @@ def main(): if os.path.exists(tm_folder) is False: os.makedirs(tm_folder) + log.info("Check if translation memories should be generated") + with open("configuration.json", "r") as read_file: + tm_for_versions = json.load(read_file)["tm_for_versions"] + if args.results not in tm_for_versions: + log.info(f"Configurations says to build tm only for {tm_for_versions}, nothing to do for {args.results}") + log.info("done") + return + log.info("Find detected languages") languages = [ diff --git a/build_website.py b/build_website.py index 5df4da4..69d05db 100755 --- a/build_website.py +++ b/build_website.py @@ -184,14 +184,18 @@ def generate_static_pages_langs(release: str, code: str, content: dict, destinat data["lang_code"] = code data["now"] = datetime.datetime.utcnow() data["files"] = defaultdict(dict) - data["files"]["compendium"]["url"] = f"/{release}/{code}.po.gz" - data["files"]["compendium"]["size"] = os.path.getsize(os.path.join(tm_folder, f"{code}.po.gz")) - data["files"]["terminology"]["url"] = f"/{release}/{code}.terminology.po.gz" - data["files"]["terminology"]["size"] = os.path.getsize(os.path.join(tm_folder, f"{code}.terminology.po.gz")) - data["files"]["tmx"]["url"] = f"/{release}/{code}.tmx.gz" - data["files"]["tmx"]["size"] = os.path.getsize(os.path.join(tm_folder, f"{code}.tmx.gz")) - data["files"]["csv"]["url"] = f"/{release}/{code}.csv" - data["files"]["csv"]["size"] = os.path.getsize(os.path.join(static_tm_folder, f"{code}.csv")) + if os.path.exists(os.path.join(tm_folder, f"{code}.po.gz")): + data["files"]["compendium"]["url"] = f"/{release}/{code}.po.gz" + data["files"]["compendium"]["size"] = os.path.getsize(os.path.join(tm_folder, f"{code}.po.gz")) + if os.path.exists(os.path.join(tm_folder, f"{code}.terminology.po.gz")): + data["files"]["terminology"]["url"] = f"/{release}/{code}.terminology.po.gz" + data["files"]["terminology"]["size"] = os.path.getsize(os.path.join(tm_folder, f"{code}.terminology.po.gz")) + if os.path.exists(os.path.join(tm_folder, f"{code}.tmx.gz")): + data["files"]["tmx"]["url"] = f"/{release}/{code}.tmx.gz" + data["files"]["tmx"]["size"] = os.path.getsize(os.path.join(tm_folder, f"{code}.tmx.gz")) + if os.path.exists(os.path.join(static_tm_folder, f"{code}.csv")): + data["files"]["csv"]["url"] = f"/{release}/{code}.csv" + data["files"]["csv"]["size"] = os.path.getsize(os.path.join(static_tm_folder, f"{code}.csv")) if len(territories) > 0: data["territories"] = territories diff --git a/configuration.json b/configuration.json new file mode 100644 index 0000000..28b561b --- /dev/null +++ b/configuration.json @@ -0,0 +1,4 @@ +{ + "tm_for_versions_comment": "only build tm for this fedora version", + "tm_for_versions": ["f38"] +} \ No newline at end of file diff --git a/templates/language.md b/templates/language.md index bd3042e..566ba55 100644 --- a/templates/language.md +++ b/templates/language.md @@ -28,11 +28,21 @@ Possible scripts are: {% for script in scripts -%}{{ script }} {%- endfor %} * Source words to translate in started packages: {{ totalsourcewordssum }} * Translated words: {{ translatedsourcewords }} +{% if files %} Download: +{% if "compendium" in files %} * [{{ lang_code }} compendium ({{ files["compendium"]["size"]|filesizeformat() }})]({{ "{{% resource url=" }}"{{ files["compendium"]["url"] }}" {{ "%}}" }}) (aggregation of all strings found in po files) +{% endif %} +{% if "terminology" in files %} * [{{ lang_code }} terminology ({{ files["terminology"]["size"]|filesizeformat() }})]({{ "{{% resource url=" }}"{{ files["terminology"]["url"] }}" {{ "%}}" }}) see [poterminology](https://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/poterminology.html) +{% endif %} +{% if "tmx" in files %} * [{{ lang_code }} translation memory ({{ files["tmx"]["size"]|filesizeformat() }})]({{ "{{% resource url=" }}"{{ files["tmx"]["url"] }}" {{ "%}}" }}) see [tmx](https://en.wikipedia.org/wiki/Translation_Memory_eXchange) +{% endif %} +{% if "csv" in files %} * [{{ lang_code }} generated stats ({{ files["csv"]["size"]|filesizeformat() }})]({{ "{{% resource url=" }}"{{ files["csv"]["url"] }}" {{ "%}}" }}) +{% endif %} +{% endif %} Packages: