mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-11 15:56:07 -07:00
Fix buggy behaviour if user sets friendly name as blank.
Hide "clear logs" button when viewing PMS logs (it has no impact on those). Start major clean up of classes. Initial work to allow SSL communication to Plex servers.
This commit is contained in:
parent
6ecfb9c963
commit
e1e3659eb3
6 changed files with 202 additions and 242 deletions
|
@ -47,7 +47,9 @@ DOCUMENTATION :: END
|
|||
async: true,
|
||||
success: function(data) {
|
||||
$("#edit-user-status-message").html(data);
|
||||
$(".set-username").html(friendly_name);
|
||||
if ($.trim(friendly_name) !== '') {
|
||||
$(".set-username").html(friendly_name);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
@ -22,7 +22,7 @@ from plexpy import helpers
|
|||
<div class="dashboard-wellheader-no-chevron">
|
||||
<div class="span9"><h2><i class="fa fa-book"></i> Logs</h2></div>
|
||||
<div class="span3">
|
||||
<div class="pull-right">
|
||||
<div class="pull-right" id="clear-logs">
|
||||
<h5><a id="menu_link_edit" href="clearLogs"><i class="fa fa-trash-o"></i> Clear log</a></h5>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -118,11 +118,12 @@ from plexpy import helpers
|
|||
}
|
||||
|
||||
$("#plexpy-logs-btn").click(function() {
|
||||
$("#clear-logs").show();
|
||||
LoadPlexPyLogs();
|
||||
});
|
||||
|
||||
$("#plex-logs-btn").click(function() {
|
||||
console.log('clicked da button');
|
||||
$("#clear-logs").hide();
|
||||
LoadPlexLogs();
|
||||
});
|
||||
|
||||
|
|
|
@ -325,7 +325,7 @@ from plexpy import helpers
|
|||
// Load edit user modal
|
||||
$("#toggle-edit-user-modal").click(function() {
|
||||
$.ajax({
|
||||
url: 'edit_user',
|
||||
url: 'edit_user_dialog',
|
||||
data: {user: '${data['username']}'},
|
||||
cache: false,
|
||||
async: true,
|
||||
|
|
|
@ -946,7 +946,10 @@ class PlexWatch(object):
|
|||
return output
|
||||
|
||||
def set_user_friendly_name(self, user=None, friendly_name=None):
|
||||
if user and friendly_name:
|
||||
if user:
|
||||
if friendly_name.strip() == '':
|
||||
friendly_name = None
|
||||
|
||||
myDB = db.DBConnection()
|
||||
|
||||
control_value_dict = {"username": user}
|
||||
|
|
|
@ -31,6 +31,7 @@ class PmsConnect(object):
|
|||
self.host = plexpy.CONFIG.PMS_IP
|
||||
self.port = str(plexpy.CONFIG.PMS_PORT)
|
||||
self.token = plexpy.CONFIG.PMS_TOKEN
|
||||
self.protocol = 'HTTP'
|
||||
|
||||
"""
|
||||
Return base url of Plex Server.
|
||||
|
@ -39,11 +40,77 @@ class PmsConnect(object):
|
|||
"""
|
||||
def get_base_url(self):
|
||||
if self.host != '' and self.port != '':
|
||||
base_url = 'http://' + self.host + ':' + self.port
|
||||
base_url = self.protocol + self.host + ':' + self.port
|
||||
return base_url
|
||||
else:
|
||||
return False
|
||||
|
||||
"""
|
||||
Handle the HTTP requests.
|
||||
|
||||
Output: object
|
||||
"""
|
||||
def make_request(self, uri=None, proto='HTTP', request_type='GET', output_format='xml'):
|
||||
|
||||
valid_request_types = ['GET', 'POST', 'PUT', 'DELETE']
|
||||
|
||||
if request_type.upper() not in valid_request_types:
|
||||
logger.debug(u"HTTP request made but unsupported request type given.")
|
||||
return None
|
||||
|
||||
if uri:
|
||||
if proto.upper() == 'HTTPS':
|
||||
handler = HTTPSConnection(self.host, self.port, timeout=10)
|
||||
else:
|
||||
handler = HTTPConnection(self.host, self.port, timeout=10)
|
||||
|
||||
if uri.find('?') > 0:
|
||||
token_string = '&X-Plex-Token=' + self.token
|
||||
else:
|
||||
token_string = '?X-Plex-Token=' + self.token
|
||||
|
||||
try:
|
||||
handler.request(request_type, uri + token_string)
|
||||
response = handler.getresponse()
|
||||
request_status = response.status
|
||||
request_content = response.read()
|
||||
except IOError, e:
|
||||
logger.warn(u"Failed to access uri endpoint %s with error %s" % (uri, e))
|
||||
return None
|
||||
|
||||
if request_status == 200:
|
||||
if output_format == 'dict':
|
||||
output = helpers.convert_xml_to_dict(request_content)
|
||||
elif output_format == 'json':
|
||||
output = helpers.convert_xml_to_json(request_content)
|
||||
elif output_format == 'xml':
|
||||
output = self.parse_xml(request_content)
|
||||
else:
|
||||
output = request_content
|
||||
|
||||
return output
|
||||
else:
|
||||
logger.warn(u"Failed to access uri endpoint %s. Status code %r" % (uri, request_status))
|
||||
return []
|
||||
else:
|
||||
logger.debug(u"HTTP request made but no enpoint given.")
|
||||
return None
|
||||
|
||||
def parse_xml(self, unparsed=None):
|
||||
if unparsed:
|
||||
try:
|
||||
xml_parse = minidom.parseString(unparsed)
|
||||
return xml_parse
|
||||
except Exception, e:
|
||||
logger.warn("Error parsing XML for Plex recently added: %s" % e)
|
||||
return []
|
||||
except:
|
||||
logger.warn("Error parsing XML for Plex recently added.")
|
||||
return []
|
||||
else:
|
||||
logger.warn("XML parse request made but no data received.")
|
||||
return []
|
||||
|
||||
"""
|
||||
Return current sessions.
|
||||
|
||||
|
@ -52,30 +119,13 @@ class PmsConnect(object):
|
|||
Output: array
|
||||
"""
|
||||
def get_sessions(self, output_format=''):
|
||||
url_command = '/status/sessions'
|
||||
http_handler = HTTPConnection(self.host, self.port, timeout=10)
|
||||
uri = '/status/sessions'
|
||||
request = self.make_request(uri=uri,
|
||||
proto=self.protocol,
|
||||
request_type='GET',
|
||||
output_format=output_format)
|
||||
|
||||
try:
|
||||
http_handler.request("GET", url_command + '?X-Plex-Token=' + self.token)
|
||||
response = http_handler.getresponse()
|
||||
request_status = response.status
|
||||
request_content = response.read()
|
||||
except IOError, e:
|
||||
logger.warn(u"Failed to access sessions. %s" % e)
|
||||
return None
|
||||
|
||||
if request_status == 200:
|
||||
if output_format == 'dict':
|
||||
output = helpers.convert_xml_to_dict(request_content)
|
||||
elif output_format == 'json':
|
||||
output = helpers.convert_xml_to_json(request_content)
|
||||
else:
|
||||
output = request_content
|
||||
else:
|
||||
logger.warn(u"Failed to access sessions. Status code %r" % request_status)
|
||||
return None
|
||||
|
||||
return output
|
||||
return request
|
||||
|
||||
"""
|
||||
Return metadata for request item.
|
||||
|
@ -86,30 +136,13 @@ class PmsConnect(object):
|
|||
Output: array
|
||||
"""
|
||||
def get_metadata(self, rating_key='', output_format=''):
|
||||
url_command = '/library/metadata/' + rating_key
|
||||
http_handler = HTTPConnection(self.host, self.port, timeout=10)
|
||||
uri = '/library/metadata/' + rating_key
|
||||
request = self.make_request(uri=uri,
|
||||
proto=self.protocol,
|
||||
request_type='GET',
|
||||
output_format=output_format)
|
||||
|
||||
try:
|
||||
http_handler.request("GET", url_command + '?X-Plex-Token=' + self.token)
|
||||
response = http_handler.getresponse()
|
||||
request_status = response.status
|
||||
request_content = response.read()
|
||||
except IOError, e:
|
||||
logger.warn(u"Failed to access metadata. %s" % e)
|
||||
return None
|
||||
|
||||
if request_status == 200:
|
||||
if output_format == 'dict':
|
||||
output = helpers.convert_xml_to_dict(request_content)
|
||||
elif output_format == 'json':
|
||||
output = helpers.convert_xml_to_json(request_content)
|
||||
else:
|
||||
output = request_content
|
||||
else:
|
||||
logger.warn(u"Failed to access metadata. Status code %r" % request_status)
|
||||
return None
|
||||
|
||||
return output
|
||||
return request
|
||||
|
||||
"""
|
||||
Return list of recently added items.
|
||||
|
@ -120,30 +153,13 @@ class PmsConnect(object):
|
|||
Output: array
|
||||
"""
|
||||
def get_recently_added(self, count='0', output_format=''):
|
||||
url_command = '/library/recentlyAdded?X-Plex-Container-Start=0&X-Plex-Container-Size=' + count
|
||||
http_handler = HTTPConnection(self.host, self.port, timeout=10)
|
||||
uri = '/library/recentlyAdded?X-Plex-Container-Start=0&X-Plex-Container-Size=' + count
|
||||
request = self.make_request(uri=uri,
|
||||
proto=self.protocol,
|
||||
request_type='GET',
|
||||
output_format=output_format)
|
||||
|
||||
try:
|
||||
http_handler.request("GET", url_command + '&X-Plex-Token=' + self.token)
|
||||
response = http_handler.getresponse()
|
||||
request_status = response.status
|
||||
request_content = response.read()
|
||||
except IOError, e:
|
||||
logger.warn(u"Failed to access recently added items. %s" % e)
|
||||
return None
|
||||
|
||||
if request_status == 200:
|
||||
if output_format == 'dict':
|
||||
output = helpers.convert_xml_to_dict(request_content)
|
||||
elif output_format == 'json':
|
||||
output = helpers.convert_xml_to_json(request_content)
|
||||
else:
|
||||
output = request_content
|
||||
else:
|
||||
logger.warn(u"Failed to access recently added. Status code %r" % request_status)
|
||||
return None
|
||||
|
||||
return output
|
||||
return request
|
||||
|
||||
"""
|
||||
Return list of episodes in requested season.
|
||||
|
@ -154,30 +170,13 @@ class PmsConnect(object):
|
|||
Output: array
|
||||
"""
|
||||
def get_episode_list(self, rating_key='', output_format=''):
|
||||
url_command = '/library/metadata/' + rating_key + '/children'
|
||||
http_handler = HTTPConnection(self.host, self.port, timeout=10)
|
||||
uri = '/library/metadata/' + rating_key + '/children'
|
||||
request = self.make_request(uri=uri,
|
||||
proto=self.protocol,
|
||||
request_type='GET',
|
||||
output_format=output_format)
|
||||
|
||||
try:
|
||||
http_handler.request("GET", url_command + '?X-Plex-Token=' + self.token)
|
||||
response = http_handler.getresponse()
|
||||
request_status = response.status
|
||||
request_content = response.read()
|
||||
except IOError, e:
|
||||
logger.warn(u"Failed to access metadata. %s" % e)
|
||||
return None
|
||||
|
||||
if request_status == 200:
|
||||
if output_format == 'dict':
|
||||
output = helpers.convert_xml_to_dict(request_content)
|
||||
elif output_format == 'json':
|
||||
output = helpers.convert_xml_to_json(request_content)
|
||||
else:
|
||||
output = request_content
|
||||
else:
|
||||
logger.warn(u"Failed to access metadata. Status code %r" % request_status)
|
||||
return None
|
||||
|
||||
return output
|
||||
return request
|
||||
|
||||
"""
|
||||
Return list of local servers.
|
||||
|
@ -187,30 +186,13 @@ class PmsConnect(object):
|
|||
Output: array
|
||||
"""
|
||||
def get_server_list(self, output_format=''):
|
||||
url_command = '/servers'
|
||||
http_handler = HTTPConnection(self.host, self.port, timeout=10)
|
||||
uri = '/servers'
|
||||
request = self.make_request(uri=uri,
|
||||
proto=self.protocol,
|
||||
request_type='GET',
|
||||
output_format=output_format)
|
||||
|
||||
try:
|
||||
http_handler.request("GET", url_command + '?X-Plex-Token=' + self.token)
|
||||
response = http_handler.getresponse()
|
||||
request_status = response.status
|
||||
request_content = response.read()
|
||||
except IOError, e:
|
||||
logger.warn(u"Failed to access metadata. %s" % e)
|
||||
return None
|
||||
|
||||
if request_status == 200:
|
||||
if output_format == 'dict':
|
||||
output = helpers.convert_xml_to_dict(request_content)
|
||||
elif output_format == 'json':
|
||||
output = helpers.convert_xml_to_json(request_content)
|
||||
else:
|
||||
output = request_content
|
||||
else:
|
||||
logger.warn(u"Failed to access metadata. Status code %r" % request_status)
|
||||
return None
|
||||
|
||||
return output
|
||||
return request
|
||||
|
||||
"""
|
||||
Return the local servers preferences.
|
||||
|
@ -220,30 +202,13 @@ class PmsConnect(object):
|
|||
Output: array
|
||||
"""
|
||||
def get_server_prefs(self, output_format=''):
|
||||
url_command = '/:/prefs'
|
||||
http_handler = HTTPConnection(self.host, self.port, timeout=10)
|
||||
uri = '/:/prefs'
|
||||
request = self.make_request(uri=uri,
|
||||
proto=self.protocol,
|
||||
request_type='GET',
|
||||
output_format=output_format)
|
||||
|
||||
try:
|
||||
http_handler.request("GET", url_command + '?X-Plex-Token=' + self.token)
|
||||
response = http_handler.getresponse()
|
||||
request_status = response.status
|
||||
request_content = response.read()
|
||||
except IOError, e:
|
||||
logger.warn(u"Failed to access metadata. %s" % e)
|
||||
return None
|
||||
|
||||
if request_status == 200:
|
||||
if output_format == 'dict':
|
||||
output = helpers.convert_xml_to_dict(request_content)
|
||||
elif output_format == 'json':
|
||||
output = helpers.convert_xml_to_json(request_content)
|
||||
else:
|
||||
output = request_content
|
||||
else:
|
||||
logger.warn(u"Failed to access metadata. Status code %r" % request_status)
|
||||
return None
|
||||
|
||||
return output
|
||||
return request
|
||||
|
||||
"""
|
||||
Return the local server identity.
|
||||
|
@ -253,30 +218,46 @@ class PmsConnect(object):
|
|||
Output: array
|
||||
"""
|
||||
def get_local_server_identity(self, output_format=''):
|
||||
url_command = '/identity'
|
||||
http_handler = HTTPConnection(self.host, self.port, timeout=10)
|
||||
uri = '/identity'
|
||||
request = self.make_request(uri=uri,
|
||||
proto=self.protocol,
|
||||
request_type='GET',
|
||||
output_format=output_format)
|
||||
|
||||
try:
|
||||
http_handler.request("GET", url_command + '?X-Plex-Token=' + self.token)
|
||||
response = http_handler.getresponse()
|
||||
request_status = response.status
|
||||
request_content = response.read()
|
||||
except IOError, e:
|
||||
logger.warn(u"Failed to access Plex server identity. %s" % e)
|
||||
return None
|
||||
return request
|
||||
|
||||
if request_status == 200:
|
||||
if output_format == 'dict':
|
||||
output = helpers.convert_xml_to_dict(request_content)
|
||||
elif output_format == 'json':
|
||||
output = helpers.convert_xml_to_json(request_content)
|
||||
else:
|
||||
output = request_content
|
||||
else:
|
||||
logger.warn(u"Failed to access Plex server identity. Status code %r" % request_status)
|
||||
return None
|
||||
"""
|
||||
Return sync item details.
|
||||
|
||||
return output
|
||||
Parameters required: sync_id { unique sync id for item }
|
||||
Optional parameters: output_format { dict, json }
|
||||
|
||||
Output: array
|
||||
"""
|
||||
def get_sync_item(self, sync_id=None, output_format=''):
|
||||
uri = '/sync/items/' + sync_id
|
||||
request = self.make_request(uri=uri,
|
||||
proto=self.protocol,
|
||||
request_type='GET',
|
||||
output_format=output_format)
|
||||
|
||||
return request
|
||||
|
||||
"""
|
||||
Return sync transcode queue.
|
||||
|
||||
Optional parameters: output_format { dict, json }
|
||||
|
||||
Output: array
|
||||
"""
|
||||
def get_sync_transcode_queue(self, output_format=''):
|
||||
uri = '/sync/transcodeQueue'
|
||||
request = self.make_request(uri=uri,
|
||||
proto=self.protocol,
|
||||
request_type='GET',
|
||||
output_format=output_format)
|
||||
|
||||
return request
|
||||
|
||||
"""
|
||||
Return processed and validated list of recently added items.
|
||||
|
@ -286,19 +267,10 @@ class PmsConnect(object):
|
|||
Output: array
|
||||
"""
|
||||
def get_recently_added_details(self, count='0'):
|
||||
recent = self.get_recently_added(count)
|
||||
recent = self.get_recently_added(count, output_format='xml')
|
||||
recents_list = []
|
||||
|
||||
try:
|
||||
xml_parse = minidom.parseString(recent)
|
||||
except Exception, e:
|
||||
logger.warn("Error parsing XML for Plex recently added: %s" % e)
|
||||
return None
|
||||
except:
|
||||
logger.warn("Error parsing XML for Plex recently added.")
|
||||
return None
|
||||
|
||||
xml_head = xml_parse.getElementsByTagName('MediaContainer')
|
||||
xml_head = recent.getElementsByTagName('MediaContainer')
|
||||
if not xml_head:
|
||||
logger.warn("Error parsing XML for Plex recently added.")
|
||||
return None
|
||||
|
@ -354,19 +326,10 @@ class PmsConnect(object):
|
|||
Output: array
|
||||
"""
|
||||
def get_metadata_details(self, rating_key=''):
|
||||
metadata = self.get_metadata(rating_key)
|
||||
metadata = self.get_metadata(rating_key, output_format='xml')
|
||||
metadata_list = []
|
||||
|
||||
try:
|
||||
xml_parse = minidom.parseString(metadata)
|
||||
except Exception, e:
|
||||
logger.warn("Error parsing XML for Plex metadata: %s" % e)
|
||||
return None
|
||||
except:
|
||||
logger.warn("Error parsing XML for Plex metadata.")
|
||||
return None
|
||||
|
||||
xml_head = xml_parse.getElementsByTagName('MediaContainer')
|
||||
xml_head = metadata.getElementsByTagName('MediaContainer')
|
||||
if not xml_head:
|
||||
logger.warn("Error parsing XML for Plex metadata.")
|
||||
return None
|
||||
|
@ -532,19 +495,10 @@ class PmsConnect(object):
|
|||
Output: array
|
||||
"""
|
||||
def get_current_activity(self):
|
||||
session_data = self.get_sessions()
|
||||
session_data = self.get_sessions(output_format='xml')
|
||||
session_list = []
|
||||
|
||||
try:
|
||||
xml_parse = minidom.parseString(session_data)
|
||||
except Exception, e:
|
||||
logger.warn("Error parsing XML for Plex session data: %s" % e)
|
||||
return None
|
||||
except:
|
||||
logger.warn("Error parsing XML for Plex session data.")
|
||||
return None
|
||||
|
||||
xml_head = xml_parse.getElementsByTagName('MediaContainer')
|
||||
xml_head = session_data.getElementsByTagName('MediaContainer')
|
||||
if not xml_head:
|
||||
logger.warn("Error parsing XML for Plex session data.")
|
||||
return None
|
||||
|
@ -764,19 +718,10 @@ class PmsConnect(object):
|
|||
Output: array
|
||||
"""
|
||||
def get_season_children(self, rating_key=''):
|
||||
episode_data = self.get_episode_list(rating_key)
|
||||
episode_data = self.get_episode_list(rating_key, output_format='xml')
|
||||
episode_list = []
|
||||
|
||||
try:
|
||||
xml_parse = minidom.parseString(episode_data)
|
||||
except Exception, e:
|
||||
logger.warn("Error parsing XML for Plex session data: %s" % e)
|
||||
return None
|
||||
except:
|
||||
logger.warn("Error parsing XML for Plex session data.")
|
||||
return None
|
||||
|
||||
xml_head = xml_parse.getElementsByTagName('MediaContainer')
|
||||
xml_head = episode_data.getElementsByTagName('MediaContainer')
|
||||
if not xml_head:
|
||||
logger.warn("Error parsing XML for Plex session data.")
|
||||
return None
|
||||
|
@ -813,18 +758,9 @@ class PmsConnect(object):
|
|||
Output: array
|
||||
"""
|
||||
def get_servers_info(self):
|
||||
recent = self.get_server_list()
|
||||
recent = self.get_server_list(output_format='xml')
|
||||
|
||||
try:
|
||||
xml_parse = minidom.parseString(recent)
|
||||
except Exception, e:
|
||||
logger.warn("Error parsing XML for Plex server prefs: %s" % e)
|
||||
return None
|
||||
except:
|
||||
logger.warn("Error parsing XML for Plex server prefs.")
|
||||
return None
|
||||
|
||||
xml_head = xml_parse.getElementsByTagName('Server')
|
||||
xml_head = recent.getElementsByTagName('Server')
|
||||
if not xml_head:
|
||||
logger.warn("Error parsing XML for Plex server prefs.")
|
||||
return None
|
||||
|
@ -848,18 +784,9 @@ class PmsConnect(object):
|
|||
Output: dict
|
||||
"""
|
||||
def get_server_identity(self):
|
||||
identity = self.get_local_server_identity()
|
||||
identity = self.get_local_server_identity(output_format='xml')
|
||||
|
||||
try:
|
||||
xml_parse = minidom.parseString(identity)
|
||||
except Exception, e:
|
||||
logger.warn("Error parsing XML for Plex server identity: %s" % e)
|
||||
return None
|
||||
except:
|
||||
logger.warn("Error parsing XML for Plex server identity.")
|
||||
return None
|
||||
|
||||
xml_head = xml_parse.getElementsByTagName('MediaContainer')
|
||||
xml_head = identity.getElementsByTagName('MediaContainer')
|
||||
if not xml_head:
|
||||
logger.warn("Error parsing XML for Plex server identity.")
|
||||
return None
|
||||
|
|
|
@ -116,17 +116,8 @@ class WebInterface(object):
|
|||
return serve_template(templatename="user.html", title="User", data=user_details)
|
||||
|
||||
@cherrypy.expose
|
||||
def edit_user(self, user=None, friendly_name=None, **kwargs):
|
||||
if user and friendly_name:
|
||||
try:
|
||||
plex_watch = plexwatch.PlexWatch()
|
||||
plex_watch.set_user_friendly_name(user, friendly_name)
|
||||
status_message = "Successfully updated user."
|
||||
return status_message
|
||||
except:
|
||||
status_message = "Failed to updated user."
|
||||
return status_message
|
||||
elif user and not friendly_name:
|
||||
def edit_user_dialog(self, user=None, **kwargs):
|
||||
if user:
|
||||
try:
|
||||
plex_watch = plexwatch.PlexWatch()
|
||||
result = {'user': user,
|
||||
|
@ -143,6 +134,18 @@ class WebInterface(object):
|
|||
else:
|
||||
return serve_template(templatename="edit_user.html", title="Edit User", data=user, status_message='Unknown error.')
|
||||
|
||||
@cherrypy.expose
|
||||
def edit_user(self, user=None, friendly_name=None, **kwargs):
|
||||
if user:
|
||||
try:
|
||||
plex_watch = plexwatch.PlexWatch()
|
||||
plex_watch.set_user_friendly_name(user, friendly_name)
|
||||
status_message = "Successfully updated user."
|
||||
return status_message
|
||||
except:
|
||||
status_message = "Failed to update user."
|
||||
return status_message
|
||||
|
||||
@cherrypy.expose
|
||||
def get_stream_data(self, row_id=None, user=None, **kwargs):
|
||||
|
||||
|
@ -926,3 +929,27 @@ class WebInterface(object):
|
|||
|
||||
cherrypy.response.headers['Content-type'] = 'application/json'
|
||||
return json.dumps(output)
|
||||
|
||||
@cherrypy.expose
|
||||
def get_sync_item(self, sync_id, **kwargs):
|
||||
|
||||
pms_connect = pmsconnect.PmsConnect()
|
||||
result = pms_connect.get_sync_item(sync_id, output_format='json')
|
||||
|
||||
if result:
|
||||
cherrypy.response.headers['Content-type'] = 'application/json'
|
||||
return result
|
||||
else:
|
||||
logger.warn('Unable to retrieve data.')
|
||||
|
||||
@cherrypy.expose
|
||||
def get_sync_transcode_queue(self, **kwargs):
|
||||
|
||||
pms_connect = pmsconnect.PmsConnect()
|
||||
result = pms_connect.get_sync_transcode_queue(output_format='json')
|
||||
|
||||
if result:
|
||||
cherrypy.response.headers['Content-type'] = 'application/json'
|
||||
return result
|
||||
else:
|
||||
logger.warn('Unable to retrieve data.')
|
Loading…
Add table
Add a link
Reference in a new issue