mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-07 21:51:14 -07:00
Add terminate session to API
This commit is contained in:
parent
992f0baf93
commit
cea851d38e
2 changed files with 58 additions and 0 deletions
|
@ -155,6 +155,22 @@ class PmsConnect(object):
|
||||||
|
|
||||||
return request
|
return request
|
||||||
|
|
||||||
|
def get_sessions_terminate(self, session_id='', reason='', output_format=''):
|
||||||
|
"""
|
||||||
|
Return current sessions.
|
||||||
|
|
||||||
|
Optional parameters: output_format { dict, json }
|
||||||
|
|
||||||
|
Output: array
|
||||||
|
"""
|
||||||
|
uri = '/status/sessions/terminate?sessionId=%s&reason=%s' % (session_id, reason)
|
||||||
|
request = self.request_handler.make_request(uri=uri,
|
||||||
|
proto=self.protocol,
|
||||||
|
request_type='GET',
|
||||||
|
output_format=output_format)
|
||||||
|
|
||||||
|
return request
|
||||||
|
|
||||||
def get_metadata(self, rating_key='', output_format=''):
|
def get_metadata(self, rating_key='', output_format=''):
|
||||||
"""
|
"""
|
||||||
Return metadata for request item.
|
Return metadata for request item.
|
||||||
|
@ -1360,6 +1376,21 @@ class PmsConnect(object):
|
||||||
|
|
||||||
return session_output
|
return session_output
|
||||||
|
|
||||||
|
def terminate_session(self, session_id='', message=''):
|
||||||
|
"""
|
||||||
|
Terminates a streaming session.
|
||||||
|
|
||||||
|
Output: bool
|
||||||
|
"""
|
||||||
|
message = message or 'The server owner has ended the stream.'
|
||||||
|
|
||||||
|
if session_id:
|
||||||
|
result = self.get_sessions_terminate(session_id=session_id, reason=urllib.quote_plus(message))
|
||||||
|
return result
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
def get_item_children(self, rating_key=''):
|
def get_item_children(self, rating_key=''):
|
||||||
"""
|
"""
|
||||||
Return processed and validated children list.
|
Return processed and validated children list.
|
||||||
|
|
|
@ -280,6 +280,33 @@ class WebInterface(object):
|
||||||
logger.warn(u"Unable to retrieve data for get_current_activity_header.")
|
logger.warn(u"Unable to retrieve data for get_current_activity_header.")
|
||||||
return serve_template(templatename="current_activity_header.html", data=None)
|
return serve_template(templatename="current_activity_header.html", data=None)
|
||||||
|
|
||||||
|
@cherrypy.expose
|
||||||
|
@cherrypy.tools.json_out()
|
||||||
|
@requireAuth(member_of("admin"))
|
||||||
|
@addtoapi()
|
||||||
|
def terminate_session(self, session_id=None, message=None, **kwargs):
|
||||||
|
""" Add a new notification agent.
|
||||||
|
|
||||||
|
```
|
||||||
|
Required parameters:
|
||||||
|
session_id (str): The id of the session to terminate
|
||||||
|
message (str): A custom message to send to the client
|
||||||
|
|
||||||
|
Optional parameters:
|
||||||
|
None
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
None
|
||||||
|
```
|
||||||
|
"""
|
||||||
|
pms_connect = pmsconnect.PmsConnect()
|
||||||
|
result = pms_connect.terminate_session(session_id=session_id, message=message)
|
||||||
|
|
||||||
|
if result:
|
||||||
|
return {'result': 'success', 'message': 'Session terminated.'}
|
||||||
|
else:
|
||||||
|
return {'result': 'error', 'message': 'Failed to terminate session.'}
|
||||||
|
|
||||||
@cherrypy.expose
|
@cherrypy.expose
|
||||||
@requireAuth()
|
@requireAuth()
|
||||||
def home_stats(self, **kwargs):
|
def home_stats(self, **kwargs):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue