10
10
# "python-docs-theme",
11
11
# ]
12
12
# ///
13
+ import logging
13
14
import subprocess
14
15
from collections .abc import Iterator
15
16
from concurrent .futures import ProcessPoolExecutor
16
17
from dataclasses import dataclass
17
18
from datetime import datetime , timezone
18
19
from itertools import repeat
19
- from logging import info
20
20
from pathlib import Path
21
21
from tempfile import TemporaryDirectory
22
22
23
- from requests import Session
24
23
from git import Repo
25
24
from jinja2 import Template
25
+ from urllib3 import PoolManager
26
26
27
27
import build_warnings
28
28
import build_status
@@ -50,14 +50,14 @@ def get_completion_progress() -> Iterator['LanguageProjectData']:
50
50
)
51
51
subprocess .run (['make' , '-C' , cpython_dir / 'Doc' , 'venv' ], check = True )
52
52
subprocess .run (['make' , '-C' , cpython_dir / 'Doc' , 'gettext' ], check = True )
53
- languages_built = dict (build_status .get_languages (session := Session ()))
53
+ languages_built = dict (build_status .get_languages (http := PoolManager ()))
54
54
with ProcessPoolExecutor () as executor :
55
55
return executor .map (
56
56
get_data ,
57
57
* zip (* get_languages_and_repos (devguide_dir )),
58
58
repeat (languages_built ),
59
59
repeat (clones_dir ),
60
- repeat (session ),
60
+ repeat (http ),
61
61
)
62
62
63
63
@@ -66,12 +66,12 @@ def get_data(
66
66
repo : str ,
67
67
languages_built : dict [str , bool ],
68
68
clones_dir : str ,
69
- session : Session ,
69
+ http : PoolManager ,
70
70
) -> 'LanguageProjectData' :
71
71
built = language .code in languages_built
72
72
if repo :
73
73
completion , translators_data = get_completion (clones_dir , repo )
74
- visitors_num = get_number_of_visitors (language .code , session ) if built else 0
74
+ visitors_num = get_number_of_visitors (language .code , http ) if built else 0
75
75
warnings = (
76
76
build_warnings .number (clones_dir , repo , language .code ) if completion else 0
77
77
)
@@ -109,7 +109,8 @@ class LanguageProjectData:
109
109
110
110
111
111
if __name__ == '__main__' :
112
- info (f'starting at { generation_time } ' )
112
+ logging .basicConfig (level = logging .INFO )
113
+ logging .info (f'starting at { generation_time } ' )
113
114
template = Template (Path ('template.html.jinja' ).read_text ())
114
115
115
116
output = template .render (
0 commit comments