summaryrefslogtreecommitdiffhomepage
path: root/devscripts/gh-pages/add-version.py
blob: 116420ef2f0e4561a07ce558590088b418872179 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env python3

import json
import sys
import hashlib
import urllib.request

if len(sys.argv) <= 1:
    print('Specify the version number as parameter')
    sys.exit()
version = sys.argv[1]

with open('update/LATEST_VERSION', 'w') as f:
    f.write(version)

versions_info = json.load(open('update/versions.json'))
if 'signature' in versions_info:
    del versions_info['signature']

new_version = {}

filenames = {
    'bin': 'youtube-dl',
    'exe': 'youtube-dl.exe',
    'tar': 'youtube-dl-%s.tar.gz' % version}
for key, filename in filenames.items():
    print('Downloading and checksumming %s...' % filename)
    url = 'https://yt-dl.org/downloads/%s/%s' % (version, filename)
    data = urllib.request.urlopen(url).read()
    sha256sum = hashlib.sha256(data).hexdigest()
    new_version[key] = (url, sha256sum)

versions_info['versions'][version] = new_version
versions_info['latest'] = version

with open('update/versions.json', 'w') as jsonf:
    json.dump(versions_info, jsonf, indent=4, sort_keys=True)