ui: Improved image fetching
[maevies] / ui / maeviesui / util / moviemanager.py
index 8cfc617..bee0472 100644 (file)
@@ -87,6 +87,12 @@ class MovieImage:
     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):
@@ -103,10 +109,13 @@ class MovieProxy:
         return interface
 
     def _retrieve_images(self):
-        images = []
+        images = { }
         dbus_images = self.interface.GetImages()
-        for image in dbus_images:
-            images.append(MovieImage(image))
+        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):
@@ -130,8 +139,8 @@ class MovieProxy:
     def get_rating(self):
         return self.interface.GetRating()
 
-    def get_images(self):
-        return self._images
+    def get_image(self, type, size):
+        return self._images[type][size]
 
     def get_released(self):
         return self.interface.GetReleased()
@@ -148,7 +157,7 @@ class MovieProxy:
     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):