From 1434bbd983c6f06639e3c8aa560222b17708bac0 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Holcroft Date: Feb 01 2021 22:19:10 +0000 Subject: website: add file list for debug --- diff --git a/build_website.py b/build_website.py index 6685aa2..464928a 100755 --- a/build_website.py +++ b/build_website.py @@ -3,6 +3,7 @@ import argparse import datetime + import jinja2 import json import langtable @@ -23,18 +24,24 @@ def main(): parser.add_argument("--refresh", action="store_true", help="Force refresh of files") - parser.add_argument("-v", - "--verbose", - default=False, - action="store_true", - dest="verbose", - help="Add verbosity") + parser.add_argument( + "-v", + "--verbose", + default=False, + action="store_true", + dest="verbose", + help="Add verbosity", + ) args = parser.parse_args() loglevel = logging.INFO if args.verbose: - loglevel = logging.DEBUG - logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=loglevel, force=True) + loglevel = logging.DEBUG + logging.basicConfig( + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", + level=loglevel, + force=True, + ) log = logging.getLogger("buildWebsite") results_folder = "./results/{v}/".format(v=args.results) @@ -92,7 +99,14 @@ def main(): for lang in results.get("stats", []): val = packages_langs_results.get(lang["lang_code"], []) - val.append({"name": name, "progress": lang["progress"], "translated": lang["translated"], "team": lang["team"]}) + val.append( + { + "name": name, + "progress": lang["progress"], + "translated": lang["translated"], + "team": lang["team"], + } + ) packages_langs_results[lang["lang_code"]] = val log.info("Prepare json files for languages") @@ -239,7 +253,9 @@ def consolidate_package_stats(stats_file, log_files): # sometimes, no file were found, which means no stats can be used if len(tmp_df) == 0: - log.warning(" The template {t} for {f} is empty".format(t=template, f=stats_file)) + log.warning( + " The template {t} for {f} is empty".format(t=template, f=stats_file) + ) continue tmp_df["totalsourcewords"] = ( @@ -260,6 +276,9 @@ def consolidate_package_stats(stats_file, log_files): stats_df = dfs[0] stats_df_w_lang = pd.merge(stats_df, log_files, how="inner", on="filename") + stats_df_w_lang["filename"] = stats_df_w_lang["filename"].apply( + lambda s: s[len(os.path.commonprefix(stats_df_w_lang["filename"].tolist())) :] + ) stats_df_no_lang = pd.merge(stats_df, log_files, how="outer", indicator=True).loc[ lambda x: x["_merge"] == "left_only" ] @@ -274,8 +293,17 @@ def consolidate_package_stats(stats_file, log_files): .reset_index() .droplevel(1, axis=1) ) - temp_teams = stats_df_w_lang.groupby("lang_code")["team"].apply(lambda x: ",".join(x)) - temp = pd.merge(temp_translated, temp_teams, how="inner", on="lang_code").to_dict(orient="records") + + temp_teams = stats_df_w_lang.groupby("lang_code")["team"].apply( + lambda x: ",".join(x) + ) + temp_files = stats_df_w_lang.groupby("lang_code")["filename"].apply( + lambda x: ",".join(x) + ) + temp_bis = pd.merge(temp_teams, temp_files, how="inner", on="lang_code") + temp = pd.merge(temp_translated, temp_bis, how="inner", on="lang_code").to_dict( + orient="records" + ) for line in temp: line["progress"] = 0 @@ -290,7 +318,9 @@ def consolidate_package_stats(stats_file, log_files): line["progress"] = 0 continue try: - line["progress"] = round((int(line["translatedsourcewords"]) / total_source_words) * 100) + line["progress"] = round( + (int(line["translatedsourcewords"]) / total_source_words) * 100 + ) except OverflowError: log.info( " File {f} has Translated={t} and Source={tot}".format( @@ -300,6 +330,8 @@ def consolidate_package_stats(stats_file, log_files): ) ) + line["filename"] = line["filename"].split(",") + results["stats"] = list() for line in sorted(temp, key=lambda k: k["progress"], reverse=True): del line["translatedsourcewords"] diff --git a/templates/package.md b/templates/package.md index 0d905ef..737d52a 100644 --- a/templates/package.md +++ b/templates/package.md @@ -2,14 +2,15 @@ title: "{{ package }}" date: {{ now }} --- -The package {{ package }} is translated into {{ count_languages }} languages in Fedora {{ results }}. +The package {{ package }}: -This packages reprends {{ totalsourcewords }} source words to be translated in each language. +* represents {{ totalsourcewords }} source words to be translated, +* is translated into {{ count_languages }} languages in Fedora {{ results }}. -| Language | Translated words | Progress | -|-------------------------------------------------------------------------------------------------------|-----------------------|---------------------| +| Language | Translated words | Progress | Files | +|-------------------------------------------------------------------------------------------------------|-----------------------|---------------------|-------| {% for stat in stats -%} -| [{{ stat.lang_code }}]({{ '{{' }}< ref "/{{ results }}/language/{{ stat.lang_code }}.md" >{{ '}}' }}) | {{ stat.translated }} | {{ stat.progress }} | +| [{{ stat.lang_code }}]({{ '{{' }}< ref "/{{ results }}/language/{{ stat.lang_code }}.md" >{{ '}}' }}) | {{ stat.translated }} | {{ stat.progress }} | {% for file in stat.filename -%}{{ file }}
{%- endfor %} | {% endfor %} ## Errors