From 79dc190ccceec4f42a2a1c65ee37c624f2748dc7 Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Tue, 26 Jul 2016 19:10:59 -0700 Subject: [PATCH] Compare distro and build for pms updates --- data/interfaces/default/settings.html | 12 +++++++++++- plexpy/config.py | 1 + plexpy/plextv.py | 3 ++- plexpy/webserve.py | 1 + 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html index 15798dad..2ef3a881 100644 --- a/data/interfaces/default/settings.html +++ b/data/interfaces/default/settings.html @@ -549,6 +549,7 @@ + @@ -2681,6 +2682,7 @@ $(document).ready(function() { var plexpass = update_params.plexpass; var platform = update_params.pms_platform; var update_channel = update_params.pms_update_channel; + var update_distro = update_params.pms_update_distro; var update_distro_build = update_params.pms_update_distro_build; $("#pms_update_channel option[value='plexpass']").remove(); @@ -2699,18 +2701,26 @@ $(document).ready(function() { $("#pms_update_distro_build option").remove(); $.each(platform_downloads.releases, function (index, item) { var label = (platform_downloads.releases.length == 1) ? platform_downloads.name : platform_downloads.name + ' - ' + item.label; - var selected = (item.build == update_distro_build) ? true : false; + var selected = (item.distro == update_distro && item.build == update_distro_build) ? true : false; $('#pms_update_distro_build') .append($('') .text(label) .val(item.build) + .attr('data-distro', item.distro) .prop('selected', selected)); }) + $('#pms_update_distro').val($("#pms_update_distro_build option:selected").data('distro')) } }); }); } loadUpdateDistros(); + + + $('#pms_update_distro_build').change(function () { + var distro = $("option:selected", this).data('distro') + $('#pms_update_distro').val(distro) + }); }); diff --git a/plexpy/config.py b/plexpy/config.py index 80067934..fbde4e28 100644 --- a/plexpy/config.py +++ b/plexpy/config.py @@ -59,6 +59,7 @@ _CONFIG_DEFINITIONS = { 'PMS_PLATFORM': (str, 'PMS', ''), 'PMS_VERSION': (str, 'PMS', ''), 'PMS_UPDATE_CHANNEL': (str, 'PMS', 'public'), + 'PMS_UPDATE_DISTRO': (str, 'PMS', ''), 'PMS_UPDATE_DISTRO_BUILD': (str, 'PMS', ''), 'TIME_FORMAT': (str, 'General', 'HH:mm'), 'ANON_REDIRECT': (str, 'General', 'http://dereferer.org/?'), diff --git a/plexpy/plextv.py b/plexpy/plextv.py index 58a03963..1c5e8a73 100644 --- a/plexpy/plextv.py +++ b/plexpy/plextv.py @@ -650,7 +650,8 @@ class PlexTV(object): # Get proper download releases = platform_downloads.get('releases', [{}]) - release = next((r for r in releases if r['build'] == plexpy.CONFIG.PMS_UPDATE_DISTRO_BUILD), releases[0]) + release = next((r for r in releases if r['distro'] == plexpy.CONFIG.PMS_UPDATE_DISTRO and + r['build'] == plexpy.CONFIG.PMS_UPDATE_DISTRO_BUILD), releases[0]) download_info = {'update_available': v_new > v_old, 'platform': platform_downloads.get('name'), diff --git a/plexpy/webserve.py b/plexpy/webserve.py index 1a30e74e..56f44b32 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -2791,6 +2791,7 @@ class WebInterface(object): return {'plexpass': plexpass, 'pms_platform': plexpy.CONFIG.PMS_PLATFORM, 'pms_update_channel': plexpy.CONFIG.PMS_UPDATE_CHANNEL, + 'pms_update_distro': plexpy.CONFIG.PMS_UPDATE_DISTRO, 'pms_update_distro_build': plexpy.CONFIG.PMS_UPDATE_DISTRO_BUILD} @cherrypy.expose