Skip to content

Commit d7e18ee

Browse files
committed
Use top-stats endpoint
1 parent e1c9eaf commit d7e18ee

File tree

1 file changed

+3
-11
lines changed

1 file changed

+3
-11
lines changed

visitors.py

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
import csv
2-
import io
31
import urllib.parse
4-
import zipfile
52
from logging import info
63

74
from urllib3 import PoolManager, Retry
@@ -13,16 +10,11 @@ def get_number_of_visitors(language: str, http: PoolManager) -> int:
1310
)
1411
response = http.request(
1512
'GET',
16-
f'https://plausible.io/docs.python.org/export?{params}',
17-
retries=Retry(status_forcelist=(404, 500, 502)),
13+
f'https://plausible.io/api/stats/docs.python.org/top-stats/?{params}',
14+
retries=Retry(status_forcelist=(500, 502), backoff_factor=1, backoff_jitter=1),
1815
)
1916
info(f'visitors {response.status=} ({language=})')
20-
with (
21-
zipfile.ZipFile(io.BytesIO(response.data), 'r') as z,
22-
z.open('visitors.csv') as csv_file,
23-
):
24-
csv_reader = csv.DictReader(io.TextIOWrapper(csv_file))
25-
return sum(int(row['visitors']) for row in csv_reader)
17+
return response.json()['top_stats'][0]['value']
2618

2719

2820
if __name__ == '__main__':

0 commit comments

Comments
 (0)