diff --git a/couchpotato/core/media/show/library/episode/main.py b/couchpotato/core/media/show/library/episode/main.py index 89da43d..bb7ac47 100644 --- a/couchpotato/core/media/show/library/episode/main.py +++ b/couchpotato/core/media/show/library/episode/main.py @@ -81,7 +81,6 @@ class EpisodeLibraryPlugin(LibraryBase): do_update = True - # XXX: Fix to be pretty parent_identifier = None if library.parent is not None: parent_identifier = library.parent.identifier @@ -89,10 +88,6 @@ class EpisodeLibraryPlugin(LibraryBase): if library.status_id == done_status.get('id') and not force: do_update = False - #info = fireEvent('episode.info', merge = True, identifier = identifier, \ - # parent_identifier = parent_identifier) - #info = fireEvent('episode.info', merge = True, identifier = parent_identifier, \ - # episode_identifier = identifier) info = fireEvent('episode.info', merge = True, season_identifier = parent_identifier, \ episode_identifier = identifier) @@ -114,6 +109,10 @@ class EpisodeLibraryPlugin(LibraryBase): library.status_id = done_status.get('id') library.season_number = tryInt(info.get('seasonnumber', None)) library.episode_number = tryInt(info.get('episodenumber', None)) + try: + library.last_updated = int(info.get('lastupdated')) + except: + library.last_updated = int(time.time()) library.info.update(info) db.commit() @@ -163,25 +162,27 @@ class EpisodeLibraryPlugin(LibraryBase): return library_dict def updateReleaseDate(self, identifier): + '''XXX: Not sure what this is for yet in relation to an episode''' + pass + #db = get_session() + #library = db.query(EpisodeLibrary).filter_by(identifier = identifier).first() - db = get_session() - library = db.query(EpisodeLibrary).filter_by(identifier = identifier).first() + #if not library.info: + #library_dict = self.update(identifier, force = True) + #dates = library_dict.get('info', {}).get('release_date') + #else: + #dates = library.info.get('release_date') - if not library.info: - library_dict = self.update(identifier, force = True) - dates = library_dict.get('info', {}).get('release_date') - else: - dates = library.info.get('release_date') + #if dates and dates.get('expires', 0) < time.time() or not dates: + #dates = fireEvent('movie.release_date', identifier = identifier, merge = True) + #library.info.update({'release_date': dates }) + #db.commit() - if dates and dates.get('expires', 0) < time.time() or not dates: - dates = fireEvent('movie.release_date', identifier = identifier, merge = True) - library.info.update({'release_date': dates }) - db.commit() - - db.expire_all() - return dates + #db.expire_all() + #return dates + #TODO: Add to base class def simplifyTitle(self, title): title = toUnicode(title) diff --git a/couchpotato/core/media/show/library/season/main.py b/couchpotato/core/media/show/library/season/main.py index e8abf76..d2ca4f3 100644 --- a/couchpotato/core/media/show/library/season/main.py +++ b/couchpotato/core/media/show/library/season/main.py @@ -81,7 +81,6 @@ class SeasonLibraryPlugin(LibraryBase): do_update = True - # XXX: Fix to be pretty parent_identifier = None if library.parent is not None: parent_identifier = library.parent.identifier @@ -160,25 +159,27 @@ class SeasonLibraryPlugin(LibraryBase): return library_dict def updateReleaseDate(self, identifier): + '''XXX: Not sure what this is for yet in relation to a tvshow''' + pass + #db = get_session() + #library = db.query(SeasonLibrary).filter_by(identifier = identifier).first() - db = get_session() - library = db.query(SeasonLibrary).filter_by(identifier = identifier).first() + #if not library.info: + #library_dict = self.update(identifier, force = True) + #dates = library_dict.get('info', {}).get('release_date') + #else: + #dates = library.info.get('release_date') - if not library.info: - library_dict = self.update(identifier, force = True) - dates = library_dict.get('info', {}).get('release_date') - else: - dates = library.info.get('release_date') + #if dates and dates.get('expires', 0) < time.time() or not dates: + #dates = fireEvent('movie.release_date', identifier = identifier, merge = True) + #library.info.update({'release_date': dates }) + #db.commit() - if dates and dates.get('expires', 0) < time.time() or not dates: - dates = fireEvent('movie.release_date', identifier = identifier, merge = True) - library.info.update({'release_date': dates }) - db.commit() - - db.expire_all() - return dates + #db.expire_all() + #return dates + #TODO: Add to base class def simplifyTitle(self, title): title = toUnicode(title) diff --git a/couchpotato/core/media/show/library/show/main.py b/couchpotato/core/media/show/library/show/main.py index 3007965..141a9e0 100644 --- a/couchpotato/core/media/show/library/show/main.py +++ b/couchpotato/core/media/show/library/show/main.py @@ -84,7 +84,7 @@ class ShowLibraryPlugin(LibraryBase): except: pass if not info or len(info) == 0: - log.error('Could not update, no movie info to work with: %s', identifier) + log.error('Could not update, no show info to work with: %s', identifier) return False # Main info @@ -93,13 +93,30 @@ class ShowLibraryPlugin(LibraryBase): library.tagline = toUnicode(info.get('tagline', '')) library.year = info.get('year', 0) library.status_id = done_status.get('id') - #-------------------------------------------------------------------------------------------------- - # XXX: TODO: implement logic to get proper values - library.airs_dayofweek = int(0) - library.airs_time = int(0) - library.last_updated = int(0) library.show_status = toUnicode(info.get('status', '').lower()) - #-------------------------------------------------------------------------------------------------- + library.airs_time = info.get('airs_time', None) + + # Bits + days_of_week_map = { + u'Monday': 1, + u'Tuesday': 2, + u'Wednesday': 4, + u'Thursday': 8, + u'Friday': 16, + u'Saturday': 32, + u'Sunday': 64, + u'Daily': 127, + } + try: + library.airs_dayofweek = days_of_week_map.get(info.get('airs_dayofweek')) + except: + library.airs_dayofweek = 0 + + try: + library.last_updated = int(info.get('lastupdated')) + except: + library.last_updated = int(time.time()) + library.info.update(info) db.commit() @@ -150,25 +167,27 @@ class ShowLibraryPlugin(LibraryBase): return library_dict def updateReleaseDate(self, identifier): + '''XXX: Not sure what this is for yet in relation to a show''' + pass + #db = get_session() + #library = db.query(ShowLibrary).filter_by(identifier = identifier).first() - db = get_session() - library = db.query(ShowLibrary).filter_by(identifier = identifier).first() - - if not library.info: - library_dict = self.update(identifier, force = True) - dates = library_dict.get('info', {}).get('release_date') - else: - dates = library.info.get('release_date') + #if not library.info: + #library_dict = self.update(identifier, force = True) + #dates = library_dict.get('info', {}).get('release_date') + #else: + #dates = library.info.get('release_date') - if dates and dates.get('expires', 0) < time.time() or not dates: - dates = fireEvent('movie.release_date', identifier = identifier, merge = True) - library.info.update({'release_date': dates }) - db.commit() + #if dates and dates.get('expires', 0) < time.time() or not dates: + #dates = fireEvent('movie.release_date', identifier = identifier, merge = True) + #library.info.update({'release_date': dates }) + #db.commit() - db.expire_all() - return dates + #db.expire_all() + #return dates + #TODO: Add to base class def simplifyTitle(self, title): title = toUnicode(title) diff --git a/couchpotato/core/settings/model.py b/couchpotato/core/settings/model.py index 8616830..911f78a 100644 --- a/couchpotato/core/settings/model.py +++ b/couchpotato/core/settings/model.py @@ -118,8 +118,21 @@ class ShowLibrary(Library, DictMixin): last_updated = Field(Integer, index = True) show_status = Field(String(10), index = True) - airs_dayofweek = Field(Integer, index = True) - airs_time = Field(Integer, index = True) + + # XXX: Maybe we should convert this to seconds? + # airs_time u'21:00' + airs_time = Field(Unicode, index = True) + + # airs_dayofweek = Field(Integer, index = True) + # u'Monday': 1, + # u'Tuesday': 2, + # u'Wednesday': 4, + # u'Thursday': 8, + # u'Friday': 16, + # u'Saturday': 32, + # u'Sunday': 64, + # u'Daily': 127, + airs_dayofweek = Field(Integer, index = True) def getSeasons(self): data = OrderedDict() @@ -188,6 +201,7 @@ class SeasonLibrary(Library, DictMixin): class EpisodeLibrary(Library): using_options(inheritance = 'multi') + last_updated = Field(Integer, index = True) season_number = Field(Integer, index = True) episode_number = Field(Integer, index = True)