| 
									
										
										
										
											2014-12-30 19:35:35 +01:00
										 |  |  | #!/usr/bin/env python | 
					
						
							|  |  |  | from __future__ import unicode_literals | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import io | 
					
						
							|  |  |  | import optparse | 
					
						
							|  |  |  | import os | 
					
						
							|  |  |  | import sys | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Import youtube_dl | 
					
						
							|  |  |  | ROOT_DIR = os.path.join(os.path.dirname(__file__), '..') | 
					
						
							| 
									
										
										
										
											2015-09-15 21:30:24 +08:00
										 |  |  | sys.path.insert(0, ROOT_DIR) | 
					
						
							| 
									
										
										
										
											2014-12-30 19:35:35 +01:00
										 |  |  | import youtube_dl | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def main(): | 
					
						
							|  |  |  |     parser = optparse.OptionParser(usage='%prog OUTFILE.md') | 
					
						
							|  |  |  |     options, args = parser.parse_args() | 
					
						
							|  |  |  |     if len(args) != 1: | 
					
						
							|  |  |  |         parser.error('Expected an output filename') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     outfile, = args | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def gen_ies_md(ies): | 
					
						
							|  |  |  |         for ie in ies: | 
					
						
							| 
									
										
										
										
											2015-01-07 16:09:43 +01:00
										 |  |  |             ie_md = '**{0}**'.format(ie.IE_NAME) | 
					
						
							| 
									
										
										
										
											2014-12-30 19:35:35 +01:00
										 |  |  |             ie_desc = getattr(ie, 'IE_DESC', None) | 
					
						
							|  |  |  |             if ie_desc is False: | 
					
						
							|  |  |  |                 continue | 
					
						
							|  |  |  |             if ie_desc is not None: | 
					
						
							| 
									
										
										
										
											2015-01-07 16:09:43 +01:00
										 |  |  |                 ie_md += ': {0}'.format(ie.IE_DESC) | 
					
						
							| 
									
										
										
										
											2014-12-30 19:35:35 +01:00
										 |  |  |             if not ie.working(): | 
					
						
							|  |  |  |                 ie_md += ' (Currently broken)' | 
					
						
							|  |  |  |             yield ie_md | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ies = sorted(youtube_dl.gen_extractors(), key=lambda i: i.IE_NAME.lower()) | 
					
						
							|  |  |  |     out = '# Supported sites\n' + ''.join( | 
					
						
							|  |  |  |         ' - ' + md + '\n' | 
					
						
							|  |  |  |         for md in gen_ies_md(ies)) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     with io.open(outfile, 'w', encoding='utf-8') as outf: | 
					
						
							|  |  |  |         outf.write(out) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  |     main() |