]> jfr.im git - yt-dlp.git/blame - devscripts/show-downloads-statistics.py
[docs] Improve manpage format (#2003)
[yt-dlp.git] / devscripts / show-downloads-statistics.py
CommitLineData
c76eb41b 1# Unused
2
cc52de43 3#!/usr/bin/env python3
bf3ae6a5
S
4from __future__ import unicode_literals
5
7935926b 6import itertools
bf3ae6a5
S
7import json
8import os
9import re
10import sys
11
12sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
13
7a5c1cfe 14from yt_dlp.compat import (
bf3ae6a5
S
15 compat_print,
16 compat_urllib_request,
17)
7a5c1cfe 18from yt_dlp.utils import format_bytes
bf3ae6a5
S
19
20
21def format_size(bytes):
22 return '%s (%d bytes)' % (format_bytes(bytes), bytes)
23
24
25total_bytes = 0
26
7935926b
S
27for page in itertools.count(1):
28 releases = json.loads(compat_urllib_request.urlopen(
067aa17e 29 'https://api.github.com/repos/ytdl-org/youtube-dl/releases?page=%s' % page
7935926b
S
30 ).read().decode('utf-8'))
31
32 if not releases:
33 break
34
35 for release in releases:
36 compat_print(release['name'])
37 for asset in release['assets']:
38 asset_name = asset['name']
39 total_bytes += asset['download_count'] * asset['size']
40 if all(not re.match(p, asset_name) for p in (
7a5c1cfe
P
41 r'^yt-dlp$',
42 r'^yt-dlp-\d{4}\.\d{2}\.\d{2}(?:\.\d+)?\.tar\.gz$',
43 r'^yt-dlp\.exe$')):
7935926b
S
44 continue
45 compat_print(
46 ' %s size: %s downloads: %d'
47 % (asset_name, format_size(asset['size']), asset['download_count']))
bf3ae6a5
S
48
49compat_print('total downloads traffic: %s' % format_size(total_bytes))