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

View file

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

View file

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

View file

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