mirror of
https://github.com/Findus23/matomo-utils.git
synced 2024-09-19 15:13:44 +02:00
intial collection
This commit is contained in:
commit
e0e1fe2db4
4 changed files with 113 additions and 0 deletions
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
.idea/
|
||||
config.py
|
||||
*.csv
|
28
missing_languages.py
Normal file
28
missing_languages.py
Normal file
|
@ -0,0 +1,28 @@
|
|||
from pathlib import Path
|
||||
|
||||
lang_dir = Path("../lang")
|
||||
|
||||
languages_in_matomo = set(str(dir.stem) for dir in lang_dir.glob("*.json"))
|
||||
|
||||
print(len(languages_in_matomo))
|
||||
|
||||
languages_in_transifex = set()
|
||||
completenesses = {}
|
||||
names = {}
|
||||
with open("matomo_matomo.languages.csv") as f:
|
||||
next(f)
|
||||
for line in f:
|
||||
cols = line.split(",")
|
||||
name = cols[0]
|
||||
code = cols[1].replace("_", "-").lower()
|
||||
if code == "-":
|
||||
continue
|
||||
completeness = 100 - float(cols[3][:-1])
|
||||
languages_in_transifex.add(code)
|
||||
completenesses[code] = completeness
|
||||
names[code] = name
|
||||
|
||||
assert languages_in_matomo - languages_in_transifex == {"dev"}
|
||||
|
||||
for code in languages_in_transifex - languages_in_matomo:
|
||||
print(code, names[code], f"{completenesses[code]:.2f}% complete")
|
25
sortTranslationKeys.py
Normal file
25
sortTranslationKeys.py
Normal file
|
@ -0,0 +1,25 @@
|
|||
import json
|
||||
from pathlib import Path
|
||||
|
||||
matomo_dir = Path("..")
|
||||
files = sorted(matomo_dir.glob("**/en.json"))
|
||||
for file in files:
|
||||
plugin_json = file.parent.parent / "plugin.json"
|
||||
if not plugin_json.exists():
|
||||
continue
|
||||
with plugin_json.open() as f:
|
||||
plugin_data = json.load(f)
|
||||
if "authors" not in plugin_data:
|
||||
continue
|
||||
if plugin_data["authors"][0]["name"] != "Lukas Winkler":
|
||||
continue
|
||||
if plugin_data["name"] != "DiagnosticsExtended":
|
||||
continue
|
||||
print(file)
|
||||
|
||||
with file.open("r") as f:
|
||||
data = json.load(f)
|
||||
|
||||
with file.open("w") as f:
|
||||
json.dump(data, f, indent=4, ensure_ascii=False, sort_keys=True)
|
||||
f.write("\n")
|
57
weblate/mass-edit.py
Normal file
57
weblate/mass-edit.py
Normal file
|
@ -0,0 +1,57 @@
|
|||
from typing import Dict
|
||||
|
||||
import requests
|
||||
|
||||
from config import *
|
||||
|
||||
s = requests.Session()
|
||||
s.headers.update({"Authorization": "Token " + token})
|
||||
|
||||
|
||||
def lock_component(component, unlock=False):
|
||||
lock = not unlock
|
||||
lock_url = component["lock_url"]
|
||||
r = s.post(lock_url, data={"lock": lock})
|
||||
print(r.json())
|
||||
r.raise_for_status()
|
||||
|
||||
|
||||
def update_setting(component, settings: Dict):
|
||||
component_url = component["url"]
|
||||
r = s.patch(component_url, data=settings)
|
||||
if r.status_code > 200:
|
||||
print(r.json())
|
||||
r.raise_for_status()
|
||||
|
||||
|
||||
components = {}
|
||||
|
||||
r = s.get(url + "projects/matomo/components/")
|
||||
|
||||
data = r.json()
|
||||
count = data["count"]
|
||||
for comp in data["results"]:
|
||||
components[comp["slug"]] = comp
|
||||
|
||||
while data["next"]:
|
||||
r = s.get(data["next"])
|
||||
data = r.json()
|
||||
for comp in data["results"]:
|
||||
components[comp["slug"]] = comp
|
||||
|
||||
assert len(components) == count
|
||||
|
||||
phpcomponents = {slug: comp for slug, comp in components.items() if not comp["is_glossary"]}
|
||||
|
||||
community_components = {slug: comp for slug, comp in components.items() if "Community" in comp["name"]}
|
||||
|
||||
official_components = {slug: components[slug] for slug in set(phpcomponents) - set(community_components)}
|
||||
|
||||
for slug, comp in phpcomponents.items():
|
||||
print(slug, comp["name"])
|
||||
print(comp["check_flags"])
|
||||
update_setting(comp, {
|
||||
"check_flags": "php-format,ignore-optional-plural"
|
||||
})
|
||||
# lock_component(comp)
|
||||
# print("locked")
|
Loading…
Reference in a new issue