1313from datetime import datetime , timezone
1414from pathlib import Path
1515from tempfile import TemporaryDirectory
16- from typing import Literal , cast
16+ from typing import cast , Literal
1717
1818from git import Repo
1919from jinja2 import Template
2020
21+ import contribute
2122import repositories
2223import build_status
2324import visitors
2728
2829
2930def get_completion_progress () -> (
30- Iterator [tuple [str , str , float , int , str | Literal [False ], int , bool , bool | None ]]
31+ Iterator [
32+ tuple [
33+ str ,
34+ str ,
35+ str ,
36+ float ,
37+ int ,
38+ str | Literal [False ],
39+ int ,
40+ bool ,
41+ bool | None ,
42+ bool ,
43+ str | None ,
44+ ]
45+ ]
3146):
3247 with TemporaryDirectory () as clones_dir :
3348 Repo .clone_from (
@@ -49,23 +64,40 @@ def get_completion_progress() -> (
4964 ['make' , '-C' , Path (clones_dir , 'cpython/Doc' ), 'gettext' ], check = True
5065 )
5166 languages_built = dict (build_status .get_languages ())
52- for lang , repo in repositories .get_languages_and_repos (devguide_dir ):
67+ for lang , lang_name , repo in repositories .get_languages_and_repos (devguide_dir ):
5368 built = lang in languages_built
5469 in_switcher = languages_built .get (lang )
70+ tx = lang in contribute .pulling_from_transifex
71+ contrib_link = contribute .get_contrib_link (lang , repo )
5572 if not repo :
56- yield lang , cast (str , repo ), 0.0 , 0 , False , 0 , built , in_switcher
73+ yield (
74+ lang ,
75+ lang_name ,
76+ cast (str , repo ),
77+ 0.0 ,
78+ 0 ,
79+ False ,
80+ 0 ,
81+ built ,
82+ in_switcher ,
83+ False ,
84+ None ,
85+ )
5786 continue
5887 completion , translators , translators_link = get_completion (clones_dir , repo )
5988 visitors_num = visitors .get_number_of_visitors (lang ) if built else 0
6089 yield (
6190 lang ,
91+ lang_name ,
6292 repo ,
6393 completion ,
6494 translators ,
6595 translators_link ,
6696 visitors_num ,
6797 built ,
6898 in_switcher ,
99+ tx ,
100+ contrib_link ,
69101 )
70102
71103
0 commit comments