Browse Source

⚒️ Update translate script, show and update outdated translations (#13933)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
pull/13598/merge
Sebastián Ramírez 7 days ago
committed by GitHub
parent
commit
273b06adab
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 1
      requirements-translations.txt
  2. 35
      scripts/translate.py

1
requirements-translations.txt

@ -1 +1,2 @@
pydantic-ai==0.0.30
GitPython==3.1.45

35
scripts/translate.py

@ -2,6 +2,7 @@ from functools import lru_cache
from pathlib import Path
from typing import Iterable
import git
import typer
import yaml
from pydantic_ai import Agent
@ -243,5 +244,39 @@ def remove_all_removable() -> None:
print("Done removing all removable paths")
@app.command()
def list_outdated(lang: str) -> list[Path]:
dir_path = Path(__file__).absolute().parent.parent
repo = git.Repo(dir_path)
outdated_paths: list[Path] = []
en_lang_paths = list(iter_en_paths_to_translate())
for path in en_lang_paths:
lang_path = generate_lang_path(lang=lang, path=path)
if not lang_path.exists():
outdated_paths.append(path)
continue
en_commit_datetime = list(repo.iter_commits(paths=path, max_count=1))[
0
].committed_datetime
lang_commit_datetime = list(repo.iter_commits(paths=lang_path, max_count=1))[
0
].committed_datetime
if lang_commit_datetime < en_commit_datetime:
outdated_paths.append(path)
print(outdated_paths)
return outdated_paths
@app.command()
def update_outdated(lang: str) -> None:
outdated_paths = list_outdated(lang)
for path in outdated_paths:
print(f"Updating lang: {lang} path: {path}")
translate_page(lang=lang, path=path)
print(f"Done updating: {path}")
print("Done updating all outdated paths")
if __name__ == "__main__":
app()

Loading…
Cancel
Save