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
|
do_update = True
|
||||||
|
|
||||||
# XXX: Fix to be pretty
|
|
||||||
parent_identifier = None
|
parent_identifier = None
|
||||||
if library.parent is not None:
|
if library.parent is not None:
|
||||||
parent_identifier = library.parent.identifier
|
parent_identifier = library.parent.identifier
|
||||||
@@ -89,10 +88,6 @@ class EpisodeLibraryPlugin(LibraryBase):
|
|||||||
if library.status_id == done_status.get('id') and not force:
|
if library.status_id == done_status.get('id') and not force:
|
||||||
do_update = False
|
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, \
|
info = fireEvent('episode.info', merge = True, season_identifier = parent_identifier, \
|
||||||
episode_identifier = identifier)
|
episode_identifier = identifier)
|
||||||
|
|
||||||
@@ -114,6 +109,10 @@ class EpisodeLibraryPlugin(LibraryBase):
|
|||||||
library.status_id = done_status.get('id')
|
library.status_id = done_status.get('id')
|
||||||
library.season_number = tryInt(info.get('seasonnumber', None))
|
library.season_number = tryInt(info.get('seasonnumber', None))
|
||||||
library.episode_number = tryInt(info.get('episodenumber', 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)
|
library.info.update(info)
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
@@ -163,25 +162,27 @@ class EpisodeLibraryPlugin(LibraryBase):
|
|||||||
return library_dict
|
return library_dict
|
||||||
|
|
||||||
def updateReleaseDate(self, identifier):
|
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()
|
#if not library.info:
|
||||||
library = db.query(EpisodeLibrary).filter_by(identifier = identifier).first()
|
#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:
|
#if dates and dates.get('expires', 0) < time.time() or not dates:
|
||||||
library_dict = self.update(identifier, force = True)
|
#dates = fireEvent('movie.release_date', identifier = identifier, merge = True)
|
||||||
dates = library_dict.get('info', {}).get('release_date')
|
#library.info.update({'release_date': dates })
|
||||||
else:
|
#db.commit()
|
||||||
dates = library.info.get('release_date')
|
|
||||||
|
|
||||||
if dates and dates.get('expires', 0) < time.time() or not dates:
|
#db.expire_all()
|
||||||
dates = fireEvent('movie.release_date', identifier = identifier, merge = True)
|
#return dates
|
||||||
library.info.update({'release_date': dates })
|
|
||||||
db.commit()
|
|
||||||
|
|
||||||
db.expire_all()
|
|
||||||
return dates
|
|
||||||
|
|
||||||
|
|
||||||
|
#TODO: Add to base class
|
||||||
def simplifyTitle(self, title):
|
def simplifyTitle(self, title):
|
||||||
|
|
||||||
title = toUnicode(title)
|
title = toUnicode(title)
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ class SeasonLibraryPlugin(LibraryBase):
|
|||||||
|
|
||||||
do_update = True
|
do_update = True
|
||||||
|
|
||||||
# XXX: Fix to be pretty
|
|
||||||
parent_identifier = None
|
parent_identifier = None
|
||||||
if library.parent is not None:
|
if library.parent is not None:
|
||||||
parent_identifier = library.parent.identifier
|
parent_identifier = library.parent.identifier
|
||||||
@@ -160,25 +159,27 @@ class SeasonLibraryPlugin(LibraryBase):
|
|||||||
return library_dict
|
return library_dict
|
||||||
|
|
||||||
def updateReleaseDate(self, identifier):
|
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()
|
#if not library.info:
|
||||||
library = db.query(SeasonLibrary).filter_by(identifier = identifier).first()
|
#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:
|
#if dates and dates.get('expires', 0) < time.time() or not dates:
|
||||||
library_dict = self.update(identifier, force = True)
|
#dates = fireEvent('movie.release_date', identifier = identifier, merge = True)
|
||||||
dates = library_dict.get('info', {}).get('release_date')
|
#library.info.update({'release_date': dates })
|
||||||
else:
|
#db.commit()
|
||||||
dates = library.info.get('release_date')
|
|
||||||
|
|
||||||
if dates and dates.get('expires', 0) < time.time() or not dates:
|
#db.expire_all()
|
||||||
dates = fireEvent('movie.release_date', identifier = identifier, merge = True)
|
#return dates
|
||||||
library.info.update({'release_date': dates })
|
|
||||||
db.commit()
|
|
||||||
|
|
||||||
db.expire_all()
|
|
||||||
return dates
|
|
||||||
|
|
||||||
|
|
||||||
|
#TODO: Add to base class
|
||||||
def simplifyTitle(self, title):
|
def simplifyTitle(self, title):
|
||||||
|
|
||||||
title = toUnicode(title)
|
title = toUnicode(title)
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ class ShowLibraryPlugin(LibraryBase):
|
|||||||
except: pass
|
except: pass
|
||||||
|
|
||||||
if not info or len(info) == 0:
|
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
|
return False
|
||||||
|
|
||||||
# Main info
|
# Main info
|
||||||
@@ -93,13 +93,30 @@ class ShowLibraryPlugin(LibraryBase):
|
|||||||
library.tagline = toUnicode(info.get('tagline', ''))
|
library.tagline = toUnicode(info.get('tagline', ''))
|
||||||
library.year = info.get('year', 0)
|
library.year = info.get('year', 0)
|
||||||
library.status_id = done_status.get('id')
|
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.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)
|
library.info.update(info)
|
||||||
|
|
||||||
db.commit()
|
db.commit()
|
||||||
@@ -150,25 +167,27 @@ class ShowLibraryPlugin(LibraryBase):
|
|||||||
return library_dict
|
return library_dict
|
||||||
|
|
||||||
def updateReleaseDate(self, identifier):
|
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()
|
#if not library.info:
|
||||||
library = db.query(ShowLibrary).filter_by(identifier = identifier).first()
|
#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:
|
#if dates and dates.get('expires', 0) < time.time() or not dates:
|
||||||
library_dict = self.update(identifier, force = True)
|
#dates = fireEvent('movie.release_date', identifier = identifier, merge = True)
|
||||||
dates = library_dict.get('info', {}).get('release_date')
|
#library.info.update({'release_date': dates })
|
||||||
else:
|
#db.commit()
|
||||||
dates = library.info.get('release_date')
|
|
||||||
|
|
||||||
if dates and dates.get('expires', 0) < time.time() or not dates:
|
#db.expire_all()
|
||||||
dates = fireEvent('movie.release_date', identifier = identifier, merge = True)
|
#return dates
|
||||||
library.info.update({'release_date': dates })
|
|
||||||
db.commit()
|
|
||||||
|
|
||||||
db.expire_all()
|
|
||||||
return dates
|
|
||||||
|
|
||||||
|
|
||||||
|
#TODO: Add to base class
|
||||||
def simplifyTitle(self, title):
|
def simplifyTitle(self, title):
|
||||||
|
|
||||||
title = toUnicode(title)
|
title = toUnicode(title)
|
||||||
|
|||||||
@@ -118,8 +118,21 @@ class ShowLibrary(Library, DictMixin):
|
|||||||
|
|
||||||
last_updated = Field(Integer, index = True)
|
last_updated = Field(Integer, index = True)
|
||||||
show_status = Field(String(10), 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):
|
def getSeasons(self):
|
||||||
data = OrderedDict()
|
data = OrderedDict()
|
||||||
@@ -188,6 +201,7 @@ class SeasonLibrary(Library, DictMixin):
|
|||||||
class EpisodeLibrary(Library):
|
class EpisodeLibrary(Library):
|
||||||
using_options(inheritance = 'multi')
|
using_options(inheritance = 'multi')
|
||||||
|
|
||||||
|
last_updated = Field(Integer, index = True)
|
||||||
season_number = Field(Integer, index = True)
|
season_number = Field(Integer, index = True)
|
||||||
episode_number = Field(Integer, index = True)
|
episode_number = Field(Integer, index = True)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user