Skip to content

Commit 05d8036

Browse files
authored
Merge branch 'main' into json
2 parents bd3664c + 6bc689e commit 05d8036

File tree

4 files changed

+21
-20
lines changed

4 files changed

+21
-20
lines changed

.github/workflows/update.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
uses: JamesIves/github-pages-deploy-action@v4
2626
with:
2727
folder: build
28-
clean: true
28+
clean: false
2929
git-config-name: github-actions[bot]
3030
git-config-email: 41898282+github-actions[bot]@users.noreply.github.com
3131
- name: Debug index.html if pull request

build_status.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,15 @@
88
import tomllib
99
from collections.abc import Iterator
1010

11-
from requests import Session
11+
from urllib3 import PoolManager
1212

1313

14-
def get_languages(requests: Session) -> Iterator[tuple[str, bool]]:
15-
data = requests.get(
16-
'https://raw.githubusercontent.com/'
17-
'python/docsbuild-scripts/refs/heads/main/config.toml',
18-
timeout=10,
19-
).text
20-
config = tomllib.loads(data)
14+
def get_languages(http: PoolManager) -> Iterator[tuple[str, bool]]:
15+
data = http.request(
16+
'GET',
17+
'https://raw.githubusercontent.com/python/docsbuild-scripts/refs/heads/main/config.toml',
18+
).data
19+
config = tomllib.loads(data.decode())
2120
for code, language in config['languages'].items():
2221
language_code = code.lower().replace('_', '-')
2322
in_switcher = language.get('in_prod', config['defaults']['in_prod'])
@@ -26,7 +25,7 @@ def get_languages(requests: Session) -> Iterator[tuple[str, bool]]:
2625

2726
def main() -> None:
2827
languages = {
29-
language: in_switcher for language, in_switcher in get_languages(Session())
28+
language: in_switcher for language, in_switcher in get_languages(PoolManager())
3029
}
3130
print(languages)
3231
for code in ('en', 'pl', 'ar', 'zh-cn', 'id'):

generate.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
from pathlib import Path
1818
from tempfile import TemporaryDirectory
1919

20-
from requests import Session
2120
from git import Repo
2221
from jinja2 import Template
22+
from urllib3 import PoolManager
2323

2424
import contribute
2525
import build_status
@@ -46,13 +46,13 @@ def get_completion_progress() -> Iterator['LanguageProjectData']:
4646
)
4747
subprocess.run(['make', '-C', cpython_dir / 'Doc', 'venv'], check=True)
4848
subprocess.run(['make', '-C', cpython_dir / 'Doc', 'gettext'], check=True)
49-
languages_built = dict(build_status.get_languages(session := Session()))
49+
languages_built = dict(build_status.get_languages(http := PoolManager()))
5050
for language, repo in get_languages_and_repos(devguide_dir):
5151
built = language.code in languages_built
5252
if repo:
5353
completion, translators_data, branch = get_completion(clones_dir, repo)
5454
visitors_num = (
55-
get_number_of_visitors(language.code, session) if built else 0
55+
get_number_of_visitors(language.code, http) if built else 0
5656
)
5757
else:
5858
completion = 0.0

visitors.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
11
import csv
22
import io
3-
import urllib
3+
import urllib.parse
44
import zipfile
55

6-
from requests import Session
6+
from urllib3 import PoolManager
77

88

9-
def get_number_of_visitors(language: str, requests: Session) -> int:
9+
def get_number_of_visitors(language: str, http: PoolManager) -> int:
1010
params = urllib.parse.urlencode(
1111
{'filters': f'[["contains","event:page",["/{language}/"]]]', 'period': 'all'}
1212
)
13-
r = requests.get(
14-
f'https://plausible.io/docs.python.org/export?{params}', timeout=20
15-
)
13+
r = http.request('GET', f'https://plausible.io/docs.python.org/export?{params}')
1614
with (
17-
zipfile.ZipFile(io.BytesIO(r.content), 'r') as z,
15+
zipfile.ZipFile(io.BytesIO(r.data), 'r') as z,
1816
z.open('visitors.csv') as csv_file,
1917
):
2018
csv_reader = csv.DictReader(io.TextIOWrapper(csv_file))
2119
return sum(int(row['visitors']) for row in csv_reader)
20+
21+
22+
if __name__ == '__main__':
23+
print(get_number_of_visitors('pl', PoolManager()))

0 commit comments

Comments
 (0)