aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2021-05-10 18:19:20 -0700
committerMicah Lee <micah@micahflee.com>2021-05-10 18:19:20 -0700
commit632862668368655003e38bdcfe4be3e0ddfdce73 (patch)
treeca50953ea057e73c0043250677ceb671f9b95a4c
parentf471346f044930ed0f04b9d01e1779884c919d9b (diff)
downloadonionshare-632862668368655003e38bdcfe4be3e0ddfdce73.tar.gz
onionshare-632862668368655003e38bdcfe4be3e0ddfdce73.zip
Fix check-weblate.py to accurately describe the levels of translations
-rw-r--r--docs/README.md25
-rwxr-xr-xdocs/check-weblate.py35
2 files changed, 39 insertions, 21 deletions
diff --git a/docs/README.md b/docs/README.md
index b9f868ec..029217bb 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -48,9 +48,13 @@ GET https://hosted.weblate.org/api/translations/onionshare/translations/hr/
GET https://hosted.weblate.org/api/translations/onionshare/translations/eo/
GET https://hosted.weblate.org/api/translations/onionshare/translations/ja/
<...snip...>
-GET https://hosted.weblate.org/api/translations/onionshare/doc-tor/he/ | error 404
-GET https://hosted.weblate.org/api/translations/onionshare/doc-tor/en/
-GET https://hosted.weblate.org/api/translations/onionshare/doc-tor/cs/ | error 404
+GET https://hosted.weblate.org/api/translations/onionshare/doc-tor/wo/ | error 404
+GET https://hosted.weblate.org/api/translations/onionshare/doc-tor/ar/
+GET https://hosted.weblate.org/api/translations/onionshare/doc-tor/it/
+
+App translations >= 100%
+=======================
+English (en), 100.0%
App translations >= 90%
=======================
@@ -62,7 +66,6 @@ Chinese (Traditional) (zh_Hant), 95.0%
Croatian (hr), 95.0%
Danish (da), 94.5%
Dutch (nl), 92.6%
-English (en), 100.0%
French (fr), 98.0%
Galician (gl), 97.5%
German (de), 95.0%
@@ -84,16 +87,24 @@ Swedish (sv), 94.5%
Turkish (tr), 98.0%
Ukrainian (uk), 98.0%
-App translations >= 75%
+App translations >= 80%
=======================
Finnish (fi), 88.1%
-Docs translations >= 90%
+Docs translations >= 100%
========================
English (en), 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%
Turkish (tr), 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%
Ukrainian (uk), 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%
-Docs translations >= 75%
+Docs translations >= 90%
+========================
+
+
+Docs translations >= 80%
========================
+German (de), 90.6%, 100.0%, 82.1%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%
+Greek (el), 90.6%, 100.0%, 82.1%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%
+Russian (ru), 90.6%, 100.0%, 82.1%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%
+Spanish (es), 90.6%, 100.0%, 82.1%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%
```
diff --git a/docs/check-weblate.py b/docs/check-weblate.py
index 8283deea..c3e1be03 100755
--- a/docs/check-weblate.py
+++ b/docs/check-weblate.py
@@ -15,7 +15,9 @@ async def api(path):
url = f"https://hosted.weblate.org{path}"
async with httpx.AsyncClient() as client:
- r = await client.get(url, headers={"Authorization": f"Token {api_token}"})
+ r = await client.get(
+ url, headers={"Authorization": f"Token {api_token}"}, timeout=30.0
+ )
if r.status_code == 200:
print(f"GET {url}")
@@ -41,12 +43,12 @@ async def get_docs_translation(component, lang_code):
docs_translations[component][lang_code] = obj["translated_percent"]
-async def app_percent_output(percent_min, percent_max=100):
+async def app_percent_output(percent_min, percent_max=101):
out = []
for lang_code in languages:
if (
app_translations[lang_code] >= percent_min
- and app_translations[lang_code] <= percent_max
+ and app_translations[lang_code] < percent_max
):
out.append(
f"{languages[lang_code]} ({lang_code}), {app_translations[lang_code]}%"
@@ -61,7 +63,7 @@ async def app_percent_output(percent_min, percent_max=100):
print("")
-async def docs_percent_output(percent_min, percent_max=100):
+async def docs_percent_output(percent_min, exclude=[]):
out = []
for lang_code in languages:
include_language = True
@@ -74,10 +76,7 @@ async def docs_percent_output(percent_min, percent_max=100):
percentages.append(docs_translations[component][lang_code])
- if (
- docs_translations[component][lang_code] < percent_min
- or docs_translations[component][lang_code] > percent_max
- ):
+ if docs_translations[component][lang_code] < percent_min:
include_language = False
break
@@ -86,13 +85,19 @@ async def docs_percent_output(percent_min, percent_max=100):
percentages = ", ".join(percentages)
out.append(f"{languages[lang_code]} ({lang_code}), {percentages}")
- out.sort()
+ excluded = []
+ for s in out:
+ if s not in exclude:
+ excluded.append(s)
+
+ excluded.sort()
print(f"Docs translations >= {percent_min}%")
print("========================")
- print("\n".join(out))
+ print("\n".join(excluded))
print("")
+ return excluded
async def main():
@@ -135,11 +140,13 @@ async def main():
print("")
- await app_percent_output(90)
- await app_percent_output(75, 90)
+ await app_percent_output(100)
+ await app_percent_output(90, 100)
+ await app_percent_output(80, 90)
- await docs_percent_output(90)
- await docs_percent_output(75, 90)
+ out100 = await docs_percent_output(100)
+ out90 = await docs_percent_output(90, out100)
+ await docs_percent_output(80, out100 + out90)
if __name__ == "__main__":