mirror of
https://github.com/l1ving/youtube-dl
synced 2024-11-25 16:45:36 +08:00
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))
|