mirror of
https://github.com/AquaMorph/dotfiles.git
synced 2025-04-30 01:35:34 +00:00
43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
import json
|
|
import os
|
|
import urllib.request
|
|
|
|
# getJSONData returns JSON data from Blackmagic Design's website.
|
|
def getJSONData():
|
|
with urllib.request.urlopen('https://www.blackmagicdesign.com/api/support/us/downloads.json') as url:
|
|
return json.loads(url.read().decode())
|
|
|
|
# getDownloads() returns a list of downloads.
|
|
def getDownloads():
|
|
return getJSONData()['downloads']
|
|
|
|
# getResolveStudioDownloads() returns a list of DaVinci Resolve Studio downlaods.
|
|
def getResolveStudioDownloads():
|
|
return [d for d in getDownloads() if 'davinci-resolve-and-fusion' in d['relatedFamilies'][0] and
|
|
'Studio' in d['name'] and 'Resolve' in d['name']]
|
|
|
|
# filterOnlyLinuxSupport() filters a list of downloads to only ones that
|
|
# support Linux.
|
|
def filterOnlyLinuxSupport(downloads):
|
|
return [d for d in downloads if 'Linux' in d['platforms']]
|
|
|
|
# getLinuxURL() returns the Linux download info.
|
|
def getLinuxURL(download):
|
|
return download['urls']['Linux'][0]
|
|
|
|
# getURLId() returns the download id.
|
|
def getURLId(url):
|
|
return url['downloadId']
|
|
|
|
# getURLVersion() returns the url version number.
|
|
def getURLVersion(url):
|
|
return '{}.{}.{}'.format(url['major'], url['minor'], url['releaseNum'])
|
|
|
|
# getDownloadId() returns downlaod id hash.
|
|
def getDownloadId(download):
|
|
return download['id']
|
|
|
|
for d in filterOnlyLinuxSupport(getResolveStudioDownloads()):
|
|
linux = getLinuxURL(d)
|
|
print(getURLVersion(linux), getURLId(linux), getDownloadId(d))
|