about summary refs log tree commit diff
path: root/devscripts
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2016-07-27 00:14:40 +0700
committerSergey M․ <dstftw@gmail.com>2016-07-27 00:14:40 +0700
commit7935926baadaad1bcf5c45b1da0f3d2d8a173ce9 (patch)
treeebbeb1ed99ed12671f71aa36cd4e9aa31c05fa9a /devscripts
parentdcbb07c35a113ace7b6b90c40f661f9c31174a64 (diff)
downloadyoutube-dl-7935926baadaad1bcf5c45b1da0f3d2d8a173ce9.tar.gz
youtube-dl-7935926baadaad1bcf5c45b1da0f3d2d8a173ce9.tar.xz
youtube-dl-7935926baadaad1bcf5c45b1da0f3d2d8a173ce9.zip
[devscripts/show-downloads-statistics] Add support for paging
Diffstat (limited to 'devscripts')
-rw-r--r--devscripts/show-downloads-statistics.py38
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))