MINFO_PROVIDER_INTERFACE = 'com.simonpena.maevies.minfoprovider'
MINFO_PROVIDER_BUS_NAME = 'com.simonpena.maevies.minfoprovider'
-TMDB_MOVIE_INTERFACE = 'com.simonpena.maevies.movie'
+TMDB_MOVIE_INTERFACE = 'com.simonpena.maevies.tmdbmovie'
TMDB_MOVIE_BUS_NAME = 'com.simonpena.maevies.tmdbmovie'
TMDB = 0
WATC = 1
except DBusException:
self._on_response_received([])
- def _on_response_received(self, object_paths):
+ def _on_response_received(self, interface, object_paths):
movies = []
- for path in object_paths:
- movies.append(MovieProxy(self._bus, path))
+
+ if interface == TMDB_MOVIE_INTERFACE:
+ for path in object_paths:
+ movies.append(MovieProxy(self._bus, path))
+ else:
+ pass
if self.response_received_cb:
self.response_received_cb(movies)
+class MovieImage:
+ def __init__(self, image_struct):
+ self._type, self._url, self._size, self._id = image_struct
+
+ def get_url(self):
+ return self._url
+
+ def get_id(self):
+ return self._id
+
+ def get_size(self):
+ return self._size
+
+ def get_type(self):
+ return self._type
+
+ def __str__(self):
+ str = ''
+ for field in [self._id, self._url, self._type, self._size]:
+ str += '\t%s\n' % field
+ return str
+
class MovieProxy:
def __init__(self, bus, object_path):
self._bus = bus
self.interface = self._create_movie_interface(object_path)
self.fields = ['Title', 'Release date', 'Rating', 'Popularity']
+ self._images = self._retrieve_images()
def _create_movie_interface(self, object_path):
proxy = self._bus.get_object(TMDB_MOVIE_BUS_NAME,
dbus_interface=TMDB_MOVIE_INTERFACE)
return interface
+ def _retrieve_images(self):
+ images = { }
+ dbus_images = self.interface.GetImages()
+ for dbus_image in dbus_images:
+ image = MovieImage(dbus_image)
+ if not images.has_key(image.get_type()):
+ images[image.get_type()] = {}
+ images[image.get_type()][image.get_size()] = image
+ return images
+
def get_value(self, field):
if field == 'Title':
return self.get_title()
def get_rating(self):
return self.interface.GetRating()
+ def get_image(self, type, size):
+ return self._images[type][size]
+
def get_released(self):
return self.interface.GetReleased()
def get_overview(self):
return self.interface.GetOverview()
- def get_image(self):
+ def get_placeholder_image(self):
return self._get_placeholder_pixbuf()
def _get_placeholder_pixbuf(self):