mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-11-01 09:26:45 -07:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#!/usr/bin/env python
 | 
						|
from __future__ import unicode_literals
 | 
						|
 | 
						|
import itertools
 | 
						|
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
 | 
						|
 | 
						|
for page in itertools.count(1):
 | 
						|
    releases = json.loads(compat_urllib_request.urlopen(
 | 
						|
        'https://api.github.com/repos/ytdl-org/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))
 |