42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#!/usr/bin/env python
 | 
						|
from __future__ import unicode_literals
 | 
						|
 | 
						|
import json
 | 
						|
import os
 | 
						|
import re
 | 
						|
import sys
 | 
						|
 | 
						|
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 | 
						|
 | 
						|
from youtube_dl.compat import (
 | 
						|
    compat_print,
 | 
						|
    compat_urllib_request,
 | 
						|
)
 | 
						|
from youtube_dl.utils import format_bytes
 | 
						|
 | 
						|
 | 
						|
def format_size(bytes):
 | 
						|
    return '%s (%d bytes)' % (format_bytes(bytes), 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']))
 | 
						|
 | 
						|
compat_print('total downloads traffic: %s' % format_size(total_bytes))
 |