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))
							 |