diff options
Diffstat (limited to 'devscripts')
| -rw-r--r-- | devscripts/bash-completion.in | 6 | ||||
| -rwxr-xr-x | devscripts/gh-pages/add-version.py | 29 | ||||
| -rwxr-xr-x | devscripts/gh-pages/update-feed.py | 3 | ||||
| -rwxr-xr-x | devscripts/gh-pages/update-sites.py | 33 | ||||
| -rwxr-xr-x | devscripts/release.sh | 3 | ||||
| -rw-r--r-- | devscripts/youtube_genalgo.py | 12 | 
6 files changed, 65 insertions, 21 deletions
| diff --git a/devscripts/bash-completion.in b/devscripts/bash-completion.in index 3b99a9614..bd10f63c2 100644 --- a/devscripts/bash-completion.in +++ b/devscripts/bash-completion.in @@ -4,8 +4,12 @@ __youtube-dl()      COMPREPLY=()      cur="${COMP_WORDS[COMP_CWORD]}"      opts="{{flags}}" +    keywords=":ytfavorites :ytrecommended :ytsubscriptions :ytwatchlater" -    if [[ ${cur} == * ]] ; then +    if [[ ${cur} =~ : ]]; then +        COMPREPLY=( $(compgen -W "${keywords}" -- ${cur}) ) +        return 0 +    elif [[ ${cur} == * ]] ; then          COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )          return 0      fi diff --git a/devscripts/gh-pages/add-version.py b/devscripts/gh-pages/add-version.py index 6af8bb9d8..03733c35d 100755 --- a/devscripts/gh-pages/add-version.py +++ b/devscripts/gh-pages/add-version.py @@ -6,28 +6,35 @@ import hashlib  import urllib.request  if len(sys.argv) <= 1: -	print('Specify the version number as parameter') -	sys.exit() +    print('Specify the version number as parameter') +    sys.exit()  version = sys.argv[1]  with open('update/LATEST_VERSION', 'w') as f: -	f.write(version) +    f.write(version)  versions_info = json.load(open('update/versions.json'))  if 'signature' in versions_info: -	del versions_info['signature'] +    del versions_info['signature']  new_version = {} -filenames = {'bin': 'youtube-dl', 'exe': 'youtube-dl.exe', 'tar': 'youtube-dl-%s.tar.gz' % version} +filenames = { +    'bin': 'youtube-dl', +    'exe': 'youtube-dl.exe', +    'tar': 'youtube-dl-%s.tar.gz' % version} +build_dir = os.path.join('..', '..', 'build', version)  for key, filename in filenames.items(): -	print('Downloading and checksumming %s...' %filename) -	url = 'http://youtube-dl.org/downloads/%s/%s' % (version, filename) -	data = urllib.request.urlopen(url).read() -	sha256sum = hashlib.sha256(data).hexdigest() -	new_version[key] = (url, sha256sum) +    fn = os.path.join(build_dir, filename) +    with open(fn, 'rb') as f: +        data = f.read() +    if not data: +        raise ValueError('File %s is empty!' % fn) +    sha256sum = hashlib.sha256(data).hexdigest() +    new_version[key] = (url, sha256sum)  versions_info['versions'][version] = new_version  versions_info['latest'] = version -json.dump(versions_info, open('update/versions.json', 'w'), indent=4, sort_keys=True)
\ No newline at end of file +with open('update/versions.json', 'w') as jsonf: +    json.dump(versions_info, jsonf, indent=4, sort_keys=True) diff --git a/devscripts/gh-pages/update-feed.py b/devscripts/gh-pages/update-feed.py index cfff05fc8..16571a924 100755 --- a/devscripts/gh-pages/update-feed.py +++ b/devscripts/gh-pages/update-feed.py @@ -22,7 +22,7 @@ entry_template=textwrap.dedent("""  									<atom:link href="http://rg3.github.io/youtube-dl" />  									<atom:content type="xhtml">  										<div xmlns="http://www.w3.org/1999/xhtml"> -											Downloads available at <a href="http://youtube-dl.org/downloads/@VERSION@/">http://youtube-dl.org/downloads/@VERSION@/</a> +											Downloads available at <a href="https://yt-dl.org/downloads/@VERSION@/">https://yt-dl.org/downloads/@VERSION@/</a>  										</div>  									</atom:content>  									<atom:author> @@ -54,4 +54,3 @@ atom_template = atom_template.replace('@ENTRIES@', entries_str)  with open('update/releases.atom','w',encoding='utf-8') as atom_file:  	atom_file.write(atom_template) - diff --git a/devscripts/gh-pages/update-sites.py b/devscripts/gh-pages/update-sites.py new file mode 100755 index 000000000..fa4bb2beb --- /dev/null +++ b/devscripts/gh-pages/update-sites.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 + +import sys +import os +import textwrap + +# We must be able to import youtube_dl +sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) + +import youtube_dl + +def main(): +    with open('supportedsites.html.in', 'r', encoding='utf-8') as tmplf: +        template = tmplf.read() + +    ie_htmls = [] +    for ie in sorted(youtube_dl.gen_extractors(), key=lambda i: i.IE_NAME): +        ie_html = '<b>{}</b>'.format(ie.IE_NAME) +        try: +            ie_html += ': {}'.format(ie.IE_DESC) +        except AttributeError: +            pass +        if ie.working() == False: +            ie_html += ' (Currently broken)' +        ie_htmls.append('<li>{}</li>'.format(ie_html)) + +    template = template.replace('@SITES@', textwrap.indent('\n'.join(ie_htmls), '\t')) + +    with open('supportedsites.html', 'w', encoding='utf-8') as sitesf: +        sitesf.write(template) + +if __name__ == '__main__': +    main() diff --git a/devscripts/release.sh b/devscripts/release.sh index 46c31e437..62c68a6cf 100755 --- a/devscripts/release.sh +++ b/devscripts/release.sh @@ -67,7 +67,7 @@ RELEASE_FILES="youtube-dl youtube-dl.exe youtube-dl-$version.tar.gz"  (cd build/$version/ && sha512sum $RELEASE_FILES > SHA2-512SUMS)  git checkout HEAD -- youtube-dl youtube-dl.exe -/bin/echo -e "\n### Signing and uploading the new binaries to youtube-dl.org..." +/bin/echo -e "\n### Signing and uploading the new binaries to yt-dl.org ..."  for f in $RELEASE_FILES; do gpg --detach-sig "build/$version/$f"; done  scp -r "build/$version" ytdl@yt-dl.org:html/tmp/  ssh ytdl@yt-dl.org "mv html/tmp/$version html/downloads/" @@ -85,6 +85,7 @@ ROOT=$(pwd)      "$ROOT/devscripts/gh-pages/sign-versions.py" < "$ROOT/updates_key.pem"      "$ROOT/devscripts/gh-pages/generate-download.py"      "$ROOT/devscripts/gh-pages/update-copyright.py" +    "$ROOT/devscripts/gh-pages/update-sites.py"      git add *.html *.html.in update      git commit -m "release $version"      git show HEAD diff --git a/devscripts/youtube_genalgo.py b/devscripts/youtube_genalgo.py index 663ccc422..3d1f83a93 100644 --- a/devscripts/youtube_genalgo.py +++ b/devscripts/youtube_genalgo.py @@ -14,21 +14,21 @@ tests = [      # 89       ("qwertyuioplkjhgfdsazxcvbnm1234567890QWERTYUIOPLKJHGFDSAZXCVBNM!@#$%^&*()_-+={[]}|:;?/>.<'",       "/?;:|}<[{=+-_)(*&^%$#@!MqBVCXZASDFGHJKLPOIUYTREWQ0987654321mnbvcxzasdfghjklpoiuyt"), -    # 88 +    # 88 - vflapUV9V 2013/08/28      ("qwertyuioplkjhgfdsazxcvbnm1234567890QWERTYUIOPLKJHGFDSAZXCVBNM!@#$%^&*()_-+={[]}|:;?/>.<", -     "J:|}][{=+-_)(*&;%$#@>MNBVCXZASDFGH^KLPOIUYTREWQ0987654321mnbvcxzasdfghrklpoiuytej"), +     "ioplkjhgfdsazxcvbnm12<4567890QWERTYUIOZLKJHGFDSAeXCVBNM!@#$%^&*()_-+={[]}|:;?/>.3"),      # 87      ("qwertyuioplkjhgfdsazxcvbnm1234567890QWERTYUIOPLKJHGFDSAZXCVBNM!@#$^&*()_-+={[]}|:;?/>.<",       "uioplkjhgfdsazxcvbnm1t34567890QWE2TYUIOPLKJHGFDSAZXCVeNM!@#$^&*()_-+={[]}|:;?/>.<"), -    # 86 +    # 86 - vfluy6kdb 2013/09/06      ("qwertyuioplkjhgfdsazxcvbnm1234567890QWERTYUIOPLKJHGFDSAZXCVBNM!@#$%^&*()_-+={[|};?/>.<", -     "yuioplkjhgfdsazecvbnm1234567890QWERTYUIOPLKJHGFDSAZXCVBNM!@#$%^&*()_-+={[|};?/>.<"), +     "yuioplkjhgfdsazxcvbnm12345678q0QWrRTYUIOELKJHGFD-AZXCVBNM!@#$%^&*()_<+={[|};?/>.S"),      # 85      ("qwertyuioplkjhgfdsazxcvbnm1234567890QWERTYUIOPLKJHGFDSAZXCVBNM!@#$%^&*()_-+={[};?/>.<",       ".>/?;}[{=+-_)(*&^%$#@!MNBVCXZASDFGHJKLPOIUYTREWQ0q876543r1mnbvcx9asdfghjklpoiuyt2"), -    # 84 +    # 84 - vflg0g8PQ 2013/08/29 (sporadic)      ("qwertyuioplkjhgfdsazxcvbnm1234567890QWERTYUIOPLKJHGFDSAZXCVBNM!@#$%^&*()_-+={[};?>.<", -     "<.>?;}[{=+-_)(*&^%$#@!MNBVCXZASDFGHJKLPOIUYTREWQ09876543q1mnbvcxzasdfghjklpoiuew2"), +     ">?;}[{=+-_)(*&^%$#@!MNBVCXZASDFGHJKLPOIUYTREWq0987654321mnbvcxzasdfghjklpoiuytr"),      # 83      ("qwertyuioplkjhgfdsazxcvbnm1234567890QWERTYUIOPLKJHGFDSAZXCVBNM!#$%^&*()_+={[};?/>.<",       ".>/?;}[{=+_)(*&^%<#!MNBVCXZASPFGHJKLwOIUYTREWQ0987654321mnbvcxzasdfghjklpoiuytreq"), | 
