diff options
| author | Sergey M․ <dstftw@gmail.com> | 2016-07-27 00:14:40 +0700 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2016-07-27 00:14:40 +0700 | 
| commit | 7935926baadaad1bcf5c45b1da0f3d2d8a173ce9 (patch) | |
| tree | ebbeb1ed99ed12671f71aa36cd4e9aa31c05fa9a | |
| parent | dcbb07c35a113ace7b6b90c40f661f9c31174a64 (diff) | |
[devscripts/show-downloads-statistics] Add support for paging
| -rw-r--r-- | devscripts/show-downloads-statistics.py | 38 | 
1 files changed, 22 insertions, 16 deletions
diff --git a/devscripts/show-downloads-statistics.py b/devscripts/show-downloads-statistics.py index b591d3fc9..e25d28411 100644 --- a/devscripts/show-downloads-statistics.py +++ b/devscripts/show-downloads-statistics.py @@ -1,6 +1,7 @@  #!/usr/bin/env python  from __future__ import unicode_literals +import itertools  import json  import os  import re @@ -21,21 +22,26 @@ def format_size(bytes):  total_bytes = 0 -releases = json.loads(compat_urllib_request.urlopen( -    'https://api.github.com/repos/rg3/youtube-dl/releases').read().decode('utf-8')) - -for release in releases: -    compat_print(release['name']) -    for asset in release['assets']: -        asset_name = asset['name'] -        total_bytes += asset['download_count'] * asset['size'] -        if all(not re.match(p, asset_name) for p in ( -                r'^youtube-dl$', -                r'^youtube-dl-\d{4}\.\d{2}\.\d{2}(?:\.\d+)?\.tar\.gz$', -                r'^youtube-dl\.exe$')): -            continue -        compat_print( -            ' %s size: %s downloads: %d' -            % (asset_name, format_size(asset['size']), asset['download_count'])) +for page in itertools.count(1): +    releases = json.loads(compat_urllib_request.urlopen( +        'https://api.github.com/repos/rg3/youtube-dl/releases?page=%s' % page +    ).read().decode('utf-8')) + +    if not releases: +        break + +    for release in releases: +        compat_print(release['name']) +        for asset in release['assets']: +            asset_name = asset['name'] +            total_bytes += asset['download_count'] * asset['size'] +            if all(not re.match(p, asset_name) for p in ( +                    r'^youtube-dl$', +                    r'^youtube-dl-\d{4}\.\d{2}\.\d{2}(?:\.\d+)?\.tar\.gz$', +                    r'^youtube-dl\.exe$')): +                continue +            compat_print( +                ' %s size: %s downloads: %d' +                % (asset_name, format_size(asset['size']), asset['download_count']))  compat_print('total downloads traffic: %s' % format_size(total_bytes))  | 
