Code review comment for lp:~charclo-michael/entertainer/small-fixes

Revision history for this message
Charclo (charclo-michael) wrote :

Ok, first the diff against trunk

=== modified file 'entertainerlib/backend/components/mediacache/video_metadata_search.py'
--- entertainerlib/backend/components/mediacache/video_metadata_search.py 2008-12-07 20:41:05 +0000
+++ entertainerlib/backend/components/mediacache/video_metadata_search.py 2009-02-07 20:06:05 +0000
@@ -23,14 +23,12 @@
     """

     # Title split keywords
- __TITLE_SPLIT_KEYWORDS = [
- "[", "]", "~", "(", ")", "dvdscr", "dvdrip", "dvd-rip", "dvdr", "vcd",
- "divx", "xvid", "ac3", "r5", "pal", "readnfo", "uncut", "cd1", "cd2",
- "dvdiso"
- ]
+ _TITLE_SPLIT_KEYWORDS = ["[", "]", "~", "(", ")", "dvdscr", "dvdrip",
+ "dvd-rip", "dvdr", "vcd", "divx", "xvid", "readnfo", "cd1", "cd2",
+ "dvdiso"]

     # Title strip items
- __TITLE_STRIP_SEARCH = [".", "-", "_"]
+ _TITLE_STRIP_SEARCH = [".", "-", "_"]

     def __init__(self, filename):
         """
@@ -75,11 +73,11 @@
         filename = os.path.splitext(filename)[0]

         # strip ., - and _ from filename
- for item in self.__TITLE_STRIP_SEARCH:
+ for item in self._TITLE_STRIP_SEARCH:
             filename = filename.replace(item, ' ')

         # split title at keywords
- for item in self.__TITLE_SPLIT_KEYWORDS:
+ for item in self._TITLE_SPLIT_KEYWORDS:
             filename = filename.split('%s' % item)[0]
         filename = filename.strip()

@@ -107,7 +105,6 @@
         except:
             self.logger.error("IMDB search failed")
             return # Network error or too many results to handle
-
         if len(search_results) == 0:
             return # No matches for this search

@@ -122,11 +119,16 @@
                 return

             video_type = "MOVIE"
+
             try:
                 title = movie['title']
                 year = movie['year']
- # convert to 5-stars rating
- rating = round(float(movie['rating']) / 2)
+
+ # convert to 5-star ratings if available
+ try:
+ rating = round(float(movie['rating']) / 2)
+ except KeyError:
+ rating = 0

                 genres = ','.join(movie['genres'])
                 try:
@@ -199,7 +201,7 @@
             try:
                 title = series['episodes'][self.season][self.episode]['title']
             except:
- title = _("%(episode)d. Episode") % {'episode': self.episode}
+ title = _(" Episode %(episode)d") % {'episode': self.episode}
             try:
                 plot = series['episodes'][self.season][self.episode]['plot']
             except:

=== modified file 'entertainerlib/frontend/gui/screens/movie.py'
--- entertainerlib/frontend/gui/screens/movie.py 2009-02-03 23:37:57 +0000
+++ entertainerlib/frontend/gui/screens/movie.py 2009-02-07 15:18:47 +0000
@@ -212,7 +212,7 @@
             if self.menu.is_active():
                 item = self.menu.get_current_menuitem().get_userdata()
                 if item == "watch":
- self.mediaplayer.set_media(self.movie)
- self.mediaplayer.play()
+ self.media_player.set_media(self.movie)
+ self.media_player.play()
                     self.callback("video_osd")

=== modified file 'entertainerlib/frontend/gui/screens/tv_episodes.py'
--- entertainerlib/frontend/gui/screens/tv_episodes.py 2009-02-03 23:37:57 +0000
+++ entertainerlib/frontend/gui/screens/tv_episodes.py 2009-02-07 15:15:25 +0000
@@ -199,7 +199,7 @@
             self.scroll_area.scroll_page_down()
         elif event_type == UserEvent.NAVIGATE_SELECT:
             episode = self.episode_menu.get_current_menuitem().get_userdata()
- self.mediaplayer.set_media(episode)
- self.mediaplayer.play()
+ self.media_player.set_media(episode)
+ self.media_player.play()
             self.callback("video_osd")

This branch fixes three small things:- metadata searching for movies failed because ratings aren't being downloaded from imdb anymore.
- When a tv-show episode didn't have a title the title was '1. 1. Episode', now it's '1. Episode 1'
- Videos weren't playing because of a typing error: mediaplayer instead of media_player

I fixed the double underscore, the trailing whitespace, 5 star ratings and the exception catching.
There is already a test for all of this: test_videometadatasearch.py

« Back to merge proposal