Skip to content

Commit a0c53ae

Browse files
committed
JSON format
1 parent f13328f commit a0c53ae

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

completion.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def branches_from_devguide(devguide_dir: Path) -> list[str]:
2020
]
2121

2222

23-
def get_completion(clones_dir: str, repo: str) -> tuple[float, 'TranslatorsData']:
23+
def get_completion(clones_dir: str, repo: str) -> tuple[float, 'TranslatorsData', str]:
2424
clone_path = Path(clones_dir, repo)
2525
for branch in branches_from_devguide(Path(clones_dir, 'devguide')) + ['master']:
2626
try:
@@ -44,7 +44,7 @@ def get_completion(clones_dir: str, repo: str) -> tuple[float, 'TranslatorsData'
4444
hide_reserved=False,
4545
api_url='',
4646
).completion
47-
return completion, translators_data
47+
return completion, translators_data, branch
4848

4949

5050
@dataclass(frozen=True)

generate.py

+12-5
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@
88
# "docutils",
99
# ]
1010
# ///
11+
import json
12+
import logging
1113
import subprocess
1214
from collections.abc import Iterator
13-
from dataclasses import dataclass
15+
from dataclasses import dataclass, asdict
1416
from datetime import datetime, timezone
15-
from logging import info
1617
from pathlib import Path
1718
from tempfile import TemporaryDirectory
1819

@@ -49,7 +50,7 @@ def get_completion_progress() -> Iterator['LanguageProjectData']:
4950
for language, repo in get_languages_and_repos(devguide_dir):
5051
built = language.code in languages_built
5152
if repo:
52-
completion, translators_data = get_completion(clones_dir, repo)
53+
completion, translators_data, branch = get_completion(clones_dir, repo)
5354
visitors_num = (
5455
get_number_of_visitors(language.code, session) if built else 0
5556
)
@@ -60,6 +61,7 @@ def get_completion_progress() -> Iterator['LanguageProjectData']:
6061
yield LanguageProjectData(
6162
language,
6263
repo,
64+
branch,
6365
completion,
6466
translators_data,
6567
visitors_num,
@@ -74,6 +76,7 @@ def get_completion_progress() -> Iterator['LanguageProjectData']:
7476
class LanguageProjectData:
7577
language: Language
7678
repository: str | None
79+
branch: str
7780
completion: float
7881
translators: TranslatorsData
7982
visitors: int
@@ -84,13 +87,17 @@ class LanguageProjectData:
8487

8588

8689
if __name__ == '__main__':
87-
info(f'starting at {generation_time}')
90+
logging.basicConfig(level=logging.INFO)
91+
logging.info(f'starting at {generation_time}')
8892
template = Template(Path('template.html.jinja').read_text())
8993

9094
output = template.render(
91-
completion_progress=list(get_completion_progress()),
95+
completion_progress=(completion_progress := list(get_completion_progress())),
9296
generation_time=generation_time,
9397
duration=(datetime.now(timezone.utc) - generation_time).seconds,
9498
)
9599

96100
Path('index.html').write_text(output)
101+
Path('index.json').write_text(
102+
json.dumps(completion_progress, indent=2, default=asdict)
103+
)

0 commit comments

Comments
 (0)