[devscripts/show-downloads-statistics] Add support for paging
This commit is contained in:
		
							parent
							
								
									dcbb07c35a
								
							
						
					
					
						commit
						7935926baa
					
				
					 1 changed files with 21 additions and 15 deletions
				
			
		| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
#!/usr/bin/env python
 | 
					#!/usr/bin/env python
 | 
				
			||||||
from __future__ import unicode_literals
 | 
					from __future__ import unicode_literals
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import itertools
 | 
				
			||||||
import json
 | 
					import json
 | 
				
			||||||
import os
 | 
					import os
 | 
				
			||||||
import re
 | 
					import re
 | 
				
			||||||
| 
						 | 
					@ -21,21 +22,26 @@ def format_size(bytes):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
total_bytes = 0
 | 
					total_bytes = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
releases = json.loads(compat_urllib_request.urlopen(
 | 
					for page in itertools.count(1):
 | 
				
			||||||
    'https://api.github.com/repos/rg3/youtube-dl/releases').read().decode('utf-8'))
 | 
					    releases = json.loads(compat_urllib_request.urlopen(
 | 
				
			||||||
 | 
					        'https://api.github.com/repos/rg3/youtube-dl/releases?page=%s' % page
 | 
				
			||||||
 | 
					    ).read().decode('utf-8'))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for release in releases:
 | 
					    if not releases:
 | 
				
			||||||
    compat_print(release['name'])
 | 
					        break
 | 
				
			||||||
    for asset in release['assets']:
 | 
					
 | 
				
			||||||
        asset_name = asset['name']
 | 
					    for release in releases:
 | 
				
			||||||
        total_bytes += asset['download_count'] * asset['size']
 | 
					        compat_print(release['name'])
 | 
				
			||||||
        if all(not re.match(p, asset_name) for p in (
 | 
					        for asset in release['assets']:
 | 
				
			||||||
                r'^youtube-dl$',
 | 
					            asset_name = asset['name']
 | 
				
			||||||
                r'^youtube-dl-\d{4}\.\d{2}\.\d{2}(?:\.\d+)?\.tar\.gz$',
 | 
					            total_bytes += asset['download_count'] * asset['size']
 | 
				
			||||||
                r'^youtube-dl\.exe$')):
 | 
					            if all(not re.match(p, asset_name) for p in (
 | 
				
			||||||
            continue
 | 
					                    r'^youtube-dl$',
 | 
				
			||||||
        compat_print(
 | 
					                    r'^youtube-dl-\d{4}\.\d{2}\.\d{2}(?:\.\d+)?\.tar\.gz$',
 | 
				
			||||||
            ' %s size: %s downloads: %d'
 | 
					                    r'^youtube-dl\.exe$')):
 | 
				
			||||||
            % (asset_name, format_size(asset['size']), asset['download_count']))
 | 
					                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))
 | 
					compat_print('total downloads traffic: %s' % format_size(total_bytes))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue