youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

make_supportedsites.py (1153B)


      1 #!/usr/bin/env python
      2 from __future__ import unicode_literals
      3 
      4 import io
      5 import optparse
      6 import os
      7 import sys
      8 
      9 
     10 # Import youtube_dl
     11 ROOT_DIR = os.path.join(os.path.dirname(__file__), '..')
     12 sys.path.insert(0, ROOT_DIR)
     13 import youtube_dl
     14 
     15 
     16 def main():
     17     parser = optparse.OptionParser(usage='%prog OUTFILE.md')
     18     options, args = parser.parse_args()
     19     if len(args) != 1:
     20         parser.error('Expected an output filename')
     21 
     22     outfile, = args
     23 
     24     def gen_ies_md(ies):
     25         for ie in ies:
     26             ie_md = '**{0}**'.format(ie.IE_NAME)
     27             ie_desc = getattr(ie, 'IE_DESC', None)
     28             if ie_desc is False:
     29                 continue
     30             if ie_desc is not None:
     31                 ie_md += ': {0}'.format(ie.IE_DESC)
     32             if not ie.working():
     33                 ie_md += ' (Currently broken)'
     34             yield ie_md
     35 
     36     ies = sorted(youtube_dl.gen_extractors(), key=lambda i: i.IE_NAME.lower())
     37     out = '# Supported sites\n' + ''.join(
     38         ' - ' + md + '\n'
     39         for md in gen_ies_md(ies))
     40 
     41     with io.open(outfile, 'w', encoding='utf-8') as outf:
     42         outf.write(out)
     43 
     44 
     45 if __name__ == '__main__':
     46     main()