Merge pull request #8876 from remitamine/html5_media
[youtube-dl] / devscripts / show-downloads-statistics.py
1 #!/usr/bin/env python
2 from __future__ import unicode_literals
3
4 import json
5 import os
6 import re
7 import sys
8
9 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
10
11 from youtube_dl.compat import (
12     compat_print,
13     compat_urllib_request,
14 )
15 from youtube_dl.utils import format_bytes
16
17
18 def format_size(bytes):
19     return '%s (%d bytes)' % (format_bytes(bytes), bytes)
20
21
22 total_bytes = 0
23
24 releases = json.loads(compat_urllib_request.urlopen(
25     'https://api.github.com/repos/rg3/youtube-dl/releases').read().decode('utf-8'))
26
27 for release in releases:
28     compat_print(release['name'])
29     for asset in release['assets']:
30         asset_name = asset['name']
31         total_bytes += asset['download_count'] * asset['size']
32         if all(not re.match(p, asset_name) for p in (
33                 r'^youtube-dl$',
34                 r'^youtube-dl-\d{4}\.\d{2}\.\d{2}(?:\.\d+)?\.tar\.gz$',
35                 r'^youtube-dl\.exe$')):
36             continue
37         compat_print(
38             ' %s size: %s downloads: %d'
39             % (asset_name, format_size(asset['size']), asset['download_count']))
40
41 compat_print('total downloads traffic: %s' % format_size(total_bytes))