Changed model to accept Unicode value for airs_time and add last_updated field for episode. Now stores both as well as airs_daysofweek
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user