bradford 9 Posted August 21, 2019 Posted August 21, 2019 Since there's no repository for Emby anymore I finally got around to writing my own script to download the latest. I just run this on a nightly cron. Maybe this can help someone else! It could easily be modified for Redhat/Centos and maybe others. from bs4 import BeautifulSoup from urllib import request import json import subprocess import sys def log_error(e): """ Maybe do real logging here """ print(e) def cmp_version(local, remote): """Compare two version strings for sorting""" local = local.split('.') remote = remote.split('.') for i,_ in enumerate(local): octet1 = int(local[i]) octet2 = int(remote[i]) if octet1 < octet2: return 1 elif octet1 > octet2: return -1 else: continue return 0 # Get version of emby on system emby_version = subprocess.getoutput('dpkg-query -s emby-server | grep Version | awk -F":" \'{print $2}\'').strip() if not emby_version: log_error("couldn't get version of emby") sys.exit() # Get latest release json with request.urlopen('https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest') as url: data = json.loads(url.read().decode()) if not data: log_error("couldn't get valid json response from github") for asset in data['assets']: release_name = asset['name'] if release_name.startswith('emby-server-deb_'): if release_name.endswith('_amd64.deb'): release_name = release_name.replace('emby-server-deb_', '') version = release_name.replace('_amd64.deb', '') if cmp_version(emby_version, version): # Download new version! request.urlretrieve(asset['browser_download_url'], '/tmp/emby.deb') subprocess.getoutput('dpkg -i /tmp/emby.deb') Script will be maintained by me here: https://gist.github.com/dadatuputi/883613b2550601076b5e3b1012c505fd
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now