11import json
2+ import subprocess
23from dataclasses import dataclass
34from functools import cache
45from pathlib import Path
@@ -20,7 +21,7 @@ def branches_from_devguide(devguide_dir: Path) -> list[str]:
2021 ]
2122
2223
23- def get_completion (clones_dir : str , repo : str ) -> tuple [float , 'TranslatorsData' , str ]:
24+ def get_completion (clones_dir : str , repo : str ) -> tuple [float , 'TranslatorsData' , str , float ]:
2425 clone_path = Path (clones_dir , repo )
2526 for branch in branches_from_devguide (Path (clones_dir , 'devguide' )) + ['master' ]:
2627 try :
@@ -44,8 +45,19 @@ def get_completion(clones_dir: str, repo: str) -> tuple[float, 'TranslatorsData'
4445 hide_reserved = False ,
4546 api_url = '' ,
4647 ).completion
47- return completion , translators_data , branch
4848
49+ subprocess .run (['git' , 'checkout' , 'HEAD@{30 days ago}' ], cwd = clone_path , check = True )
50+ with TemporaryDirectory () as tmpdir :
51+ month_ago_completion = potodo .merge_and_scan_path (
52+ clone_path ,
53+ pot_path = Path (clones_dir , 'cpython/Doc/build/gettext' ),
54+ merge_path = Path (tmpdir ),
55+ hide_reserved = False ,
56+ api_url = '' ,
57+ ).completion
58+
59+ change = completion - month_ago_completion
60+ return completion , translators_data , branch , change
4961
5062@dataclass (frozen = True )
5163class TranslatorsData :
0 commit comments