ui: Added support for displaying WATC service results
[maevies] / ui / maeviesui / maeviesui / gui.py
index 0fb52fd..51a580f 100644 (file)
@@ -29,7 +29,7 @@ import gobject
 from maeviesui.util import constants
 from maeviesui.util.asyncworker import AsyncWorker, AsyncItem
 from maeviesui.util.util import image_downloader
-from maeviesui.util.moviemanager import MovieManager
+from maeviesui.util.moviemanager import MovieManager, TmdbMovie, TmdbMovieImage
 
 moviemanager = MovieManager()
 
@@ -185,7 +185,8 @@ class ResultsWindow(hildon.StackableWindow):
 
     def _row_activated_cb(self, view, path, column):
         movie = view.get_movie_from_path(path)
-        MovieWindow(movie)
+        if isinstance(movie, TmdbMovie):
+            MovieWindow(movie)
 
     def start_search(self, search_term, search_category):
         self._show_banner(search_term, search_category)
@@ -267,28 +268,27 @@ class MovieWindow(hildon.StackableWindow):
 
     def _fetch_movie_image(self, movie):
         image = gtk.Image()
-
+        image.set_from_pixbuf(gtk.IconTheme().load_icon('general_video',
+                                                        256, 0))
         movie_image = movie.get_image('poster', 'mid')
-        image_file = os.path.abspath('/tmp/' + movie_image.get_id() + '.jpg')
-
-        if os.path.isfile(image_file):
-            image.set_from_pixbuf(gtk.gdk.pixbuf_new_from_file_at_size(image_file,
+        if isinstance(movie_image, TmdbMovieImage):
+            image_file = os.path.abspath('/tmp/' + movie_image.get_id() + '.jpg')
+            if os.path.isfile(image_file):
+                image.set_from_pixbuf(gtk.gdk.pixbuf_new_from_file_at_size(image_file,
                                                                        256,
                                                                        256))
-        else:
-            image.set_from_pixbuf(gtk.IconTheme().load_icon('general_video',
-                                                            256, 0))
-            banner = hildon.hildon_banner_show_information_with_markup(self,
-                                                                       'ignored',
-                                                                       'Fetching movie poster')
-            banner.set_timeout(constants.TIMEOUT_TIME_MILLIS)
-            hildon.hildon_gtk_window_set_progress_indicator(self, True)
-
-            async_item = AsyncItem(image_downloader, (movie_image.get_url(),
-                                                      '/tmp/' + movie_image.get_id()),
-                                   self._set_fetched_image, (image,))
-            self.async_worker.queue.put(async_item)
-            self.async_worker.start()
+            else:
+                banner = hildon.hildon_banner_show_information_with_markup(self,
+                                                                           'ignored',
+                                                                           'Fetching movie poster')
+                banner.set_timeout(constants.TIMEOUT_TIME_MILLIS)
+                hildon.hildon_gtk_window_set_progress_indicator(self, True)
+
+                async_item = AsyncItem(image_downloader, (movie_image.get_url(),
+                                                          '/tmp/' + movie_image.get_id()),
+                                       self._set_fetched_image, (image,))
+                self.async_worker.queue.put(async_item)
+                self.async_worker.start()
 
         return image