[devscripts/show-downloads-statictics] Add script for displaying downloads statistics
This commit is contained in:
		
							parent
							
								
									bff98341d5
								
							
						
					
					
						commit
						bf3ae6a543
					
				
					 1 changed files with 41 additions and 0 deletions
				
			
		
							
								
								
									
										41
									
								
								devscripts/show-downloads-statistics.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								devscripts/show-downloads-statistics.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -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))
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue