Spaces:
Runtime error
Runtime error
#!/usr/bin/env python | |
import os | |
import sys | |
import json | |
from rich import print # pylint: disable=redefined-builtin | |
if __name__ == "__main__": | |
sys.argv.pop(0) | |
fn = sys.argv[0] if len(sys.argv) > 0 else 'locale_en.json' | |
if not os.path.isfile(fn): | |
print(f'File not found: {fn}') | |
sys.exit(1) | |
with open(fn, 'r', encoding="utf-8") as f: | |
data = json.load(f) | |
keys = [] | |
t_names = 0 | |
t_hints = 0 | |
t_localized = 0 | |
t_long = 0 | |
for k in data.keys(): | |
names = len(data[k]) | |
t_names += names | |
hints = len([k for k in data[k] if k["hint"] != ""]) | |
t_hints += hints | |
localized = len([k for k in data[k] if k["localized"] != ""]) | |
t_localized += localized | |
missing = names - hints | |
long = 0 | |
for v in data[k]: | |
if v['label'] in keys: | |
print(f' Duplicate: {k}.{v["label"]}') | |
else: | |
if len(v['label']) > 63: | |
long += 1 | |
print(f' Long label: {k}.{v["label"]}') | |
keys.append(v['label']) | |
t_long += long | |
print(f'Section: [bold magenta]{k.ljust(20)}[/bold magenta] entries={names} localized={"[bold green]" + str(localized) + "[/bold green]" if localized > 0 else "0"} long={"[bold red]" + str(long) + "[/bold red]" if long > 0 else "0"} hints={hints} missing={"[bold red]" + str(missing) + "[/bold red]" if missing > 0 else "[bold green]0[/bold green]"}') | |
print(f'Totals: entries={t_names} localized={localized} long={t_long} hints={t_hints} missing={t_names - t_hints}') | |