diff --git a/data/interfaces/default/css/tautulli.css b/data/interfaces/default/css/tautulli.css index c9ff27fb..136644e2 100644 --- a/data/interfaces/default/css/tautulli.css +++ b/data/interfaces/default/css/tautulli.css @@ -3680,10 +3680,6 @@ a.no-highlight:hover { .login-container .form-group { margin-bottom: 20px; } -.login-container .form-group label { - font-weight: 400; - color: #999; -} .login-container .form-control { height: 38px; line-height: 1.5em; diff --git a/data/interfaces/default/js/script.js b/data/interfaces/default/js/script.js index 90050c46..14e12b06 100644 --- a/data/interfaces/default/js/script.js +++ b/data/interfaces/default/js/script.js @@ -555,12 +555,9 @@ $.fn.slideToggleBool = function(bool, options) { }; function openPlexXML(endpoint, plextv, params) { - var data = $.extend({endpoint: endpoint, plextv: plextv}, params); - $.getJSON('return_plex_xml_url', data, function(xml_url) { - if (xml_url) { - window.open(xml_url, '_blank'); - } - }); + var data = $.extend({endpoint: endpoint, plextv: plextv || false}, params); + var query = new URLSearchParams(data) + window.open('open_plex_xml?' + query.toString(), '_blank'); } function PopupCenter(url, title, w, h) { diff --git a/data/interfaces/default/xml_shortcut.html b/data/interfaces/default/xml_shortcut.html new file mode 100644 index 00000000..f1fd46a4 --- /dev/null +++ b/data/interfaces/default/xml_shortcut.html @@ -0,0 +1,65 @@ + + + + + + Tautulli - ${title} + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ + + + + + + diff --git a/plexpy/config.py b/plexpy/config.py index 15267560..77034bf5 100644 --- a/plexpy/config.py +++ b/plexpy/config.py @@ -75,7 +75,6 @@ _CONFIG_DEFINITIONS = { 'PMS_UPDATE_DISTRO_BUILD': (str, 'PMS', ''), 'PMS_UPDATE_CHECK_INTERVAL': (int, 'Advanced', 24), 'PMS_WEB_URL': (str, 'PMS', 'https://app.plex.tv/desktop'), - 'PMS_XML_SHORTCUTS': (int, 'Advanced', 0), 'TIME_FORMAT': (str, 'General', 'HH:mm'), 'ANON_REDIRECT': (str, 'General', ''), 'ANON_REDIRECT_DYNAMIC': (int, 'General', 1), diff --git a/plexpy/webserve.py b/plexpy/webserve.py index 787fa88e..b0bec465 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -379,26 +379,18 @@ class WebInterface(object): return {'result': 'error', 'message': 'Failed to terminate session.'} @cherrypy.expose - @cherrypy.tools.json_out() @requireAuth(member_of("admin")) - def return_plex_xml_url(self, endpoint='', plextv=False, **kwargs): - if not (plexpy.CONFIG.HTTP_PASSWORD and plexpy.CONFIG.PMS_XML_SHORTCUTS): - return - - kwargs['X-Plex-Token'] = plexpy.CONFIG.PMS_TOKEN - + def open_plex_xml(self, endpoint='', plextv=False, **kwargs): if helpers.bool_true(plextv): base_url = 'https://plex.tv' else: - if plexpy.CONFIG.PMS_URL_OVERRIDE: - base_url = plexpy.CONFIG.PMS_URL_OVERRIDE - else: - base_url = plexpy.CONFIG.PMS_URL + base_url = plexpy.CONFIG.PMS_URL_OVERRIDE or plexpy.CONFIG.PMS_URL if '{machine_id}' in endpoint: endpoint = endpoint.format(machine_id=plexpy.CONFIG.PMS_IDENTIFIER) - return base_url + endpoint + '?' + urlencode(kwargs) + url = base_url + endpoint + ('?' + urlencode(kwargs) if kwargs else '') + return serve_template(templatename="xml_shortcut.html", title="Plex XML", url=url) @cherrypy.expose @requireAuth()