From 0d926427c468ddc61275e9d704833c1c584b65fa Mon Sep 17 00:00:00 2001 From: Raymond Wagner Date: Sat, 18 Aug 2012 20:14:34 -0400 Subject: [PATCH] Add collection image support. --- README | 2 ++ setup.py | 2 +- tmdb3/tmdb_api.py | 13 ++++++++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/README b/README index e197f3e0dfd..62cad13a332 100644 --- a/README +++ b/README @@ -200,6 +200,8 @@ Collection: Backdrop backdrop Poster poster list(Movie) members (sorted by release date) + list(Backdrop) backdrops + list(Poster) posters Movie: integer id diff --git a/setup.py b/setup.py index 3d5303b9f4e..07f5f440cf4 100755 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ setup( name='tmdb3', - version='0.6.7', + version='0.6.8', description='TheMovieDB.org APIv3 interface', long_description="Object-oriented interface to TheMovieDB.org's v3 API.", packages=['tmdb3'] diff --git a/tmdb3/tmdb_api.py b/tmdb3/tmdb_api.py index e5d5beb3877..5f52e40e54a 100644 --- a/tmdb3/tmdb_api.py +++ b/tmdb3/tmdb_api.py @@ -22,7 +22,7 @@ Preliminary API specifications can be found at http://help.themoviedb.org/kb/api/about-3""" -__version__="v0.6.7" +__version__="v0.6.8" # 0.1.0 Initial development # 0.2.0 Add caching mechanism for API queries # 0.2.1 Temporary work around for broken search paging @@ -50,6 +50,7 @@ # 0.6.5 Prevent data from being blanked out by subsequent queries # 0.6.6 Turn date processing errors into mutable warnings # 0.6.7 Add support for searching by year +# 0.6.8 Add support for collection images from request import set_key, Request from util import Datapoint, Datalist, Datadict, Element, NameRepr, SearchRepr @@ -577,4 +578,14 @@ class Collection( NameRepr, Element ): def _populate(self): return Request('collection/{0}'.format(self.id), \ language=self._locale.language) + def _populate_images(self): + kwargs = {} + if not self._locale.fallthrough: + kwargs['language'] = self._locale.language + return Request('collection/{0}/images'.format(self.id), **kwargs) + + backdrops = Datalist('backdrops', handler=Backdrop, \ + poller=_populate_images, sort=True) + posters = Datalist('posters', handler=Poster, \ + poller=_populate_images, sort=True)