diff options
Diffstat (limited to 'devscripts/make_supportedsites.py')
| -rw-r--r-- | devscripts/make_supportedsites.py | 45 | 
1 files changed, 45 insertions, 0 deletions
| diff --git a/devscripts/make_supportedsites.py b/devscripts/make_supportedsites.py new file mode 100644 index 000000000..140010644 --- /dev/null +++ b/devscripts/make_supportedsites.py @@ -0,0 +1,45 @@ +#!/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__), '..') +sys.path.append(ROOT_DIR) +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: +            ie_md = '**{}**'.format(ie.IE_NAME) +            ie_desc = getattr(ie, 'IE_DESC', None) +            if ie_desc is False: +                continue +            if ie_desc is not None: +                ie_md += ': {}'.format(ie.IE_DESC) +            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() | 
