|
@ -0,0 +1,41 @@ |
|
|
|
|
|
#!/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)) |