Use result_to_list for all list endpoints, to ensure empty lists are handled correctly

This commit is contained in:
Pete 2013-08-26 11:57:02 -07:00
parent ae4295ee4e
commit 138f47add3
4 changed files with 11 additions and 5 deletions

View file

@ -1,6 +1,7 @@
"""
api_activity.py : Trovebox Activity API Classes
"""
from trovebox import http
from trovebox.errors import TroveboxError
from trovebox.objects.activity import Activity
@ -12,6 +13,7 @@ class ApiActivities(object):
def list(self, **kwds):
""" Returns a list of Activity objects """
activities = self._client.get("/activities/list.json", **kwds)["result"]
activities = http.result_to_list(activities)
return [Activity(self._client, activity) for activity in activities]
def purge(self, **kwds):

View file

@ -2,6 +2,7 @@
api_album.py : Trovebox Album API Classes
"""
from trovebox.objects.album import Album
from trovebox import http
class ApiAlbums(object):
""" Definitions of /albums/ API endpoints """
@ -10,8 +11,9 @@ class ApiAlbums(object):
def list(self, **kwds):
""" Return a list of Album objects """
results = self._client.get("/albums/list.json", **kwds)["result"]
return [Album(self._client, album) for album in results]
albums = self._client.get("/albums/list.json", **kwds)["result"]
albums = http.result_to_list(albums)
return [Album(self._client, album) for album in albums]
class ApiAlbum(object):
""" Definitions of /album/ API endpoints """

View file

@ -3,8 +3,8 @@ api_photo.py : Trovebox Photo API Classes
"""
import base64
from trovebox.errors import TroveboxError
from trovebox import http
from trovebox.errors import TroveboxError
from trovebox.objects.photo import Photo
def extract_ids(photos):

View file

@ -1,6 +1,7 @@
"""
api_tag.py : Trovebox Tag API Classes
"""
from trovebox import http
from trovebox.objects.tag import Tag
class ApiTags(object):
@ -10,8 +11,9 @@ class ApiTags(object):
def list(self, **kwds):
""" Returns a list of Tag objects """
results = self._client.get("/tags/list.json", **kwds)["result"]
return [Tag(self._client, tag) for tag in results]
tags = self._client.get("/tags/list.json", **kwds)["result"]
tags = http.result_to_list(tags)
return [Tag(self._client, tag) for tag in tags]
class ApiTag(object):
""" Definitions of /tag/ API endpoints """