mirror of https://github.com/tiangolo/fastapi.git
⚒️ 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>
This commit is contained in:
parent
4c40b484f1
commit
273b06adab
|
|
@ -1 +1,2 @@
|
|||
pydantic-ai==0.0.30
|
||||
GitPython==3.1.45
|
||||
|
|
|
|||
|
|
@ -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…
Reference in New Issue