youtube-dl/devscripts/gh-pages/add-version.py

44 lines
1.1 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
from __future__ import unicode_literals
import json
import sys
import hashlib
2013-09-06 09:07:34 +00:00
import os.path
if len(sys.argv) <= 1:
2013-08-23 21:57:23 +00:00
print('Specify the version number as parameter')
sys.exit()
version = sys.argv[1]
with open('update/LATEST_VERSION', 'w') as f:
2013-08-23 21:57:23 +00:00
f.write(version)
versions_info = json.load(open('update/versions.json'))
if 'signature' in versions_info:
2013-08-23 21:57:23 +00:00
del versions_info['signature']
new_version = {}
2013-08-23 21:57:23 +00:00
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():
2013-09-06 09:07:34 +00:00
url = 'https://yt-dl.org/downloads/%s/%s' % (version, filename)
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)
2013-08-23 21:57:23 +00:00
sha256sum = hashlib.sha256(data).hexdigest()
new_version[key] = (url, sha256sum)
versions_info['versions'][version] = new_version
versions_info['latest'] = version
2013-08-23 21:57:23 +00:00
with open('update/versions.json', 'w') as jsonf:
json.dump(versions_info, jsonf, indent=4, sort_keys=True)