Browse Source

[TV] Renamed "[media].update_info" events, renamed "updateInfo" functions

pull/3730/merge
Dean Gardiner 11 years ago
parent
commit
90be6ec38b
  1. 106
      couchpotato/core/media/show/_base/main.py
  2. 6
      couchpotato/core/media/show/episode.py
  3. 6
      couchpotato/core/media/show/season.py

106
couchpotato/core/media/show/_base/main.py

@ -32,7 +32,7 @@ class ShowBase(MediaBase):
})
addEvent('show.add', self.add)
addEvent('show.update_info', self.updateInfo)
addEvent('show.update', self.update)
addEvent('show.update_extras', self.updateExtras)
def addView(self, **kwargs):
@ -79,53 +79,6 @@ class ShowBase(MediaBase):
except:
log.error('Failed adding media: %s', traceback.format_exc())
def updateInfo(self, media_id = None, media = None, identifiers = None, info = None):
"""
Update movie information inside media['doc']['info']
@param media_id: document id
@param identifiers: identifiers from multiple providers
{
'thetvdb': 123,
'imdb': 'tt123123',
..
}
@param extended: update with extended info (parses more info, actors, images from some info providers)
@return: dict, with media
"""
if not info: info = {}
if not identifiers: identifiers = {}
db = get_db()
if self.shuttingDown():
return
if media is None and media_id:
media = db.get('id', media_id)
else:
log.error('missing "media" and "media_id" parameters, unable to update')
return
if not info:
info = fireEvent('show.info', identifiers = media.get('identifiers'), merge = True)
try:
identifiers = info.pop('identifiers', {})
seasons = info.pop('seasons', {})
self.update(media, info)
self.updateEpisodes(media, seasons)
self.updateExtras(media, info)
db.update(media)
return media
except:
log.error('Failed update media: %s', traceback.format_exc())
return {}
def create(self, info, params = None, force_readd = True, search_after = True, update_after = True, notify_after = True, status = None):
db = get_db()
@ -153,7 +106,7 @@ class ShowBase(MediaBase):
seasons = info.pop('seasons', {})
# Update media with info
self.update(media, info)
self.updateInfo(media, info)
new = False
try:
@ -230,7 +183,54 @@ class ShowBase(MediaBase):
fireEvent('show.episode.add', season.get('_id'), episode_info, update_after = False, single = True)
def update(self, media, info):
def update(self, media_id = None, media = None, identifiers = None, info = None):
"""
Update movie information inside media['doc']['info']
@param media_id: document id
@param identifiers: identifiers from multiple providers
{
'thetvdb': 123,
'imdb': 'tt123123',
..
}
@param extended: update with extended info (parses more info, actors, images from some info providers)
@return: dict, with media
"""
if not info: info = {}
if not identifiers: identifiers = {}
db = get_db()
if self.shuttingDown():
return
if media is None and media_id:
media = db.get('id', media_id)
else:
log.error('missing "media" and "media_id" parameters, unable to update')
return
if not info:
info = fireEvent('show.info', identifiers = media.get('identifiers'), merge = True)
try:
identifiers = info.pop('identifiers', {})
seasons = info.pop('seasons', {})
self.updateInfo(media, info)
self.updateEpisodes(media, seasons)
self.updateExtras(media, info)
db.update(media)
return media
except:
log.error('Failed update media: %s', traceback.format_exc())
return {}
def updateInfo(self, media, info):
db = get_db()
# Remove season info for later use (save separately)
@ -261,7 +261,7 @@ class ShowBase(MediaBase):
continue
# Update season
fireEvent('show.season.update_info', season['_id'], info = season_info, single = True)
fireEvent('show.season.update', season['_id'], info = season_info, single = True)
# Update episodes
for episode_num in episodes:
@ -276,11 +276,9 @@ class ShowBase(MediaBase):
fireEvent('show.episode.add', season.get('_id'), episode_info, update_after = False, single = True)
continue
fireEvent('show.episode.update_info', episode['_id'], info = episode_info, single = True)
fireEvent('show.episode.update', episode['_id'], info = episode_info, single = True)
def updateExtras(self, media, info, store=False):
log.debug('Updating extras for "%s"', media['_id'])
db = get_db()
# Update image file

6
couchpotato/core/media/show/episode.py

@ -14,7 +14,7 @@ class Episode(MediaBase):
def __init__(self):
addEvent('show.episode.add', self.add)
addEvent('show.episode.update_info', self.updateInfo)
addEvent('show.episode.update', self.update)
def add(self, parent_id, info = None, update_after = True, status = None):
if not info: info = {}
@ -50,11 +50,11 @@ class Episode(MediaBase):
# Update library info
if update_after is not False:
handle = fireEventAsync if update_after is 'async' else fireEvent
handle('show.season.update_info', episode.get('_id'), identifiers, info, single = True)
handle('show.season.update', episode.get('_id'), identifiers, info, single = True)
return episode
def updateInfo(self, media_id = None, identifiers = None, info = None):
def update(self, media_id = None, identifiers = None, info = None):
if not info: info = {}
identifiers = info.get('identifiers') or identifiers

6
couchpotato/core/media/show/season.py

@ -14,7 +14,7 @@ class Season(MediaBase):
def __init__(self):
addEvent('show.season.add', self.add)
addEvent('show.season.update_info', self.updateInfo)
addEvent('show.season.update', self.update)
def add(self, parent_id, info = None, update_after = True, status = None):
if not info: info = {}
@ -50,11 +50,11 @@ class Season(MediaBase):
# Update library info
if update_after is not False:
handle = fireEventAsync if update_after is 'async' else fireEvent
handle('show.season.update_info', season.get('_id'), identifiers, info, single = True)
handle('show.season.update', season.get('_id'), identifiers, info, single = True)
return season
def updateInfo(self, media_id = None, identifiers = None, info = None):
def update(self, media_id = None, identifiers = None, info = None):
if not info: info = {}
identifiers = info.get('identifiers') or identifiers

Loading…
Cancel
Save