ui: Added support for fetching movie images
[maevies] / ui / maeviesui / util / moviemanager.py
index d5148c9..8cfc617 100644 (file)
@@ -71,12 +71,29 @@ class MovieManager:
         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
+
 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,
@@ -85,6 +102,13 @@ class MovieProxy:
                                    dbus_interface=TMDB_MOVIE_INTERFACE)
         return interface
 
+    def _retrieve_images(self):
+        images = []
+        dbus_images = self.interface.GetImages()
+        for image in dbus_images:
+            images.append(MovieImage(image))
+        return images
+
     def get_value(self, field):
         if field == 'Title':
             return self.get_title()
@@ -106,6 +130,9 @@ class MovieProxy:
     def get_rating(self):
         return self.interface.GetRating()
 
+    def get_images(self):
+        return self._images
+
     def get_released(self):
         return self.interface.GetReleased()