import hildon
import pango
import gobject
+from webkit import WebView
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, TmdbMovie, TmdbMovieImage
+from maeviesui.util.moviemanager import MovieManager, TmdbMovie, TmdbMovieImage, \
+ WatcMovie
moviemanager = MovieManager()
return contents;
def _button_clicked(self, button, action):
- if action == self.ACTION_SEARCH:
+ if action == self.ACTION_THEATERS:
+ theaters_view = TheatersWindow()
+ theaters_view.display_shows()
+ elif action == self.ACTION_SEARCH:
search_dialog = SearchDialog(self)
if search_dialog.run() == gtk.RESPONSE_ACCEPT:
results_window = ResultsWindow()
movie = view.get_movie_from_path(path)
if isinstance(movie, TmdbMovie):
MovieWindow(movie)
+ elif isinstance(movie, WatcMovie):
+ WatcWindow(movie)
def start_search(self, search_term, search_category):
self._show_banner(search_term, search_category)
self.add(self._create_contents(movie))
self.show_all()
+class WebkitWindow(hildon.StackableWindow):
+
+ def __init__(self):
+ super(WebkitWindow, self).__init__()
+
+ self.view = WebView()
+ self.view.connect('load-started', self._load_start)
+ self.view.connect('load-finished', self._load_finished)
+ self.view.set_full_content_zoom(True)
+
+ wbk_settings = self.view.get_settings()
+ wbk_settings.set_property('auto-shrink-images', True)
+
+ self.pannable = hildon.PannableArea()
+ self.pannable.add(self.view)
+ self.pannable.set_size_request_policy(hildon.SIZE_REQUEST_CHILDREN)
+ self.pannable.set_property("mov-mode", hildon.MOVEMENT_MODE_BOTH)
+
+ self.add(self.pannable)
+ self.show_all()
+
+ def _load_start(self, view, data):
+ hildon.hildon_gtk_window_set_progress_indicator(self, True)
+
+ def _load_finished(self, view, data):
+ hildon.hildon_gtk_window_set_progress_indicator(self, False)
+
+ def load_url(self, url):
+ self.view.open(url)
+
+class TheatersWindow(WebkitWindow):
+
+ def __init__(self):
+ super(TheatersWindow, self).__init__()
+ self.show_all()
+
+ def display_shows(self):
+ self.load_url('http://www.google.com/movies')
+
+class WatcWindow(WebkitWindow):
+
+ def __init__(self, movie):
+ super(WatcWindow, self).__init__()
+ self.show_all()
+ has_stingers = movie.get_stingers()
+ if has_stingers == 0:
+ stingers = '?'
+ elif has_stingers == 1:
+ stingers = '*'
+ else:
+ stingers = ''
+ url = ('http://whatsafterthecredits.com/index.php?title=%(title)s_(%(year)s)%(stingers)s' %
+ {'title':movie.get_title().strip(),
+ 'year':movie.get_year().strip(),
+ 'stingers':stingers})
+ print url
+ self.load_url(url)
+
if __name__ == '__main__':
maevies = Maevies()
maevies.run()