diff options
author | Luo Jinghua <sunmoon1997@gmail.com> | 2009-12-27 11:11:30 +0800 |
---|---|---|
committer | Luo Jinghua <sunmoon1997@gmail.com> | 2009-12-27 11:11:30 +0800 |
commit | 28d3a6557849713bbe067dfced19282c02574cfc (patch) | |
tree | 7d2a90e8e01365f6ffd972d6c9a43328721a90ed | |
parent | 8911ca11a8a8794f14c6dbf6928cbbad7f5b6a2d (diff) |
totem: code cleanup
-rw-r--r-- | totem/plugin/ppstream.py | 82 |
1 files changed, 34 insertions, 48 deletions
diff --git a/totem/plugin/ppstream.py b/totem/plugin/ppstream.py index 137decf..65768e5 100644 --- a/totem/plugin/ppstream.py +++ b/totem/plugin/ppstream.py @@ -487,59 +487,48 @@ class PPStream (totem.Plugin): if force: self.ppslist.reset() - if self.ppslist.getClasses() == []: - self.movie_class_path = () - self.subclass_index = 0 - self.categories_count += 1 - self.movies_count += 1 - self.clear_ui () - self.retrieveimage.cancel_tasks () + if self.ppslist.getClasses() == 0: + return - ### load special classes first - self.load_special_classes () + self.movie_class_path = () + self.subclass_index = 0 + self.categories_count += 1 + self.movies_count += 1 + self.clear_ui () + self.retrieveimage.cancel_tasks () - ### download classes from pps.tv - thread = ProcessThread (None, - self.__fetch_classes, - self.on_classes_fetched, - self.categories_count) - thread.start() + ### load special classes first + self.load_special_classes () - gobject.timeout_add (300, - self.update_categories_progress, - self.categories_count) + ### download classes from pps.tv + thread = ProcessThread (None, + self.__fetch_classes, + self.on_classes_fetched, + self.categories_count) + thread.start() - def on_classes_fetched (self, res, count): - if res: - ### check if this is a canceled task - if self.categories_count == count: - self.parse_class (res) - else: - print "Couldn't load ppstream media list" + gobject.timeout_add (300, + self.update_categories_progress, + self.categories_count) - def on_subclasses_fetched (self, res, *args): - if not self.classes: + def on_classes_fetched (self, res, count): + if not res: + print "Couldn't load ppstream playlist" return - ### parse the xml - self.parse_subclass (res) - - ### fill categories view - self.fill_categories (self.classes[self.subclass_index].id) - ### fetch next subclass - self.fetch_next_subclass (True) + ### check if this is a canceled task + if self.categories_count == count: + self.parse_class (res) - def threaded_parse_movies (self, res, class_path, page, count): + def __parse_movies (self, res, class_path, page, count): subcls = self.get_movie_class (class_path) - if not res: - subcls.parsing_movies = False - return None - try: - result = self.ppslist.parseMovieList(subcls, res, page) - except Exception, e: - print "Couldn't parse movie list:", class_path, e - result = None + if res: + try: + result = self.ppslist.parseMovieList(subcls, res, page) + except Exception, e: + print "Couldn't parse movie list:", class_path, e + result = None subcls.parsing_movies = False return result @@ -551,9 +540,6 @@ class PPStream (totem.Plugin): ### check if the server repeats the last page subcls = self.get_movie_class (class_path) - if not hasattr(subcls, 'parsing_movies'): - subcls.parsing_movies = False - if res is None: subcls.fetching_movies = False return @@ -562,14 +548,14 @@ class PPStream (totem.Plugin): ### Blocking the main thread is bad. if res and len(res) > 1024 * 2: subcls.parsing_movies = True - process = ProcessThread (res, self.threaded_parse_movies, + process = ProcessThread (res, self.__parse_movies, self.add_parsed_movies, class_path, page, count) process.start () self.update_progress_bar () return - result = self.threaded_parse_movies (res, class_path, page, count) + result = self.__parse_movies (res, class_path, page, count) self.add_parsed_movies (result, class_path, page, count) def add_parsed_movies (self, result, class_path, page, count): |