Add paging for recently added to the API

This commit is contained in:
JonnyWong16 2016-05-20 20:16:14 -07:00
parent 8033b47596
commit bdb43c0e9e
3 changed files with 21 additions and 19 deletions

1
API.md
View file

@ -1061,6 +1061,7 @@ Required parameters:
count (str): Number of items to return count (str): Number of items to return
Optional parameters: Optional parameters:
start (str): The item number to start at
section_id (str): The id of the Plex library section section_id (str): The id of the Plex library section
Returns: Returns:

View file

@ -179,7 +179,7 @@ class PmsConnect(object):
return request return request
def get_recently_added(self, count='0', output_format=''): def get_recently_added(self, start='0', count='0', output_format=''):
""" """
Return list of recently added items. Return list of recently added items.
@ -188,7 +188,7 @@ class PmsConnect(object):
Output: array Output: array
""" """
uri = '/library/recentlyAdded?X-Plex-Container-Start=0&X-Plex-Container-Size=' + count uri = '/library/recentlyAdded?X-Plex-Container-Start=%s&X-Plex-Container-Size=%s' % (start, count)
request = self.request_handler.make_request(uri=uri, request = self.request_handler.make_request(uri=uri,
proto=self.protocol, proto=self.protocol,
request_type='GET', request_type='GET',
@ -196,7 +196,7 @@ class PmsConnect(object):
return request return request
def get_library_recently_added(self, section_id='', count='0', output_format=''): def get_library_recently_added(self, section_id='', start='0', count='0', output_format=''):
""" """
Return list of recently added items. Return list of recently added items.
@ -205,7 +205,7 @@ class PmsConnect(object):
Output: array Output: array
""" """
uri = '/library/sections/' + section_id + '/recentlyAdded?X-Plex-Container-Start=0&X-Plex-Container-Size=' + count uri = '/library/sections/%s/recentlyAdded?X-Plex-Container-Start=%s&X-Plex-Container-Size=%s' % (section_id, start, count)
request = self.request_handler.make_request(uri=uri, request = self.request_handler.make_request(uri=uri,
proto=self.protocol, proto=self.protocol,
request_type='GET', request_type='GET',
@ -458,7 +458,7 @@ class PmsConnect(object):
return request return request
def get_recently_added_details(self, section_id='', count='0'): def get_recently_added_details(self, section_id='', start='0', count='0'):
""" """
Return processed and validated list of recently added items. Return processed and validated list of recently added items.
@ -467,9 +467,9 @@ class PmsConnect(object):
Output: array Output: array
""" """
if section_id: if section_id:
recent = self.get_library_recently_added(section_id, count, output_format='xml') recent = self.get_library_recently_added(section_id, start, count, output_format='xml')
else: else:
recent = self.get_recently_added(count, output_format='xml') recent = self.get_recently_added(start, count, output_format='xml')
try: try:
xml_head = recent.getElementsByTagName('MediaContainer') xml_head = recent.getElementsByTagName('MediaContainer')

View file

@ -3329,7 +3329,7 @@ class WebInterface(object):
@cherrypy.tools.json_out() @cherrypy.tools.json_out()
@requireAuth(member_of("admin")) @requireAuth(member_of("admin"))
@addtoapi("get_recently_added") @addtoapi("get_recently_added")
def get_recently_added_details(self, count='0', section_id='', **kwargs): def get_recently_added_details(self, start='0', count='0', section_id='', **kwargs):
""" Get all items that where recelty added to plex. """ Get all items that where recelty added to plex.
``` ```
@ -3337,6 +3337,7 @@ class WebInterface(object):
count (str): Number of items to return count (str): Number of items to return
Optional parameters: Optional parameters:
start (str): The item number to start at
section_id (str): The id of the Plex library section section_id (str): The id of the Plex library section
Returns: Returns:
@ -3366,7 +3367,7 @@ class WebInterface(object):
``` ```
""" """
pms_connect = pmsconnect.PmsConnect() pms_connect = pmsconnect.PmsConnect()
result = pms_connect.get_recently_added_details(count=count, section_id=section_id) result = pms_connect.get_recently_added_details(start=start, count=count, section_id=section_id)
if result: if result:
return result return result