本文整理汇总了Python中sickrage.core.tv.show.TVShow.writeMetadata方法的典型用法代码示例。如果您正苦于以下问题:Python TVShow.writeMetadata方法的具体用法?Python TVShow.writeMetadata怎么用?Python TVShow.writeMetadata使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sickrage.core.tv.show.TVShow
的用法示例。
在下文中一共展示了TVShow.writeMetadata方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: QueueItemAdd
# 需要导入模块: from sickrage.core.tv.show import TVShow [as 别名]
# 或者: from sickrage.core.tv.show.TVShow import writeMetadata [as 别名]
#.........这里部分代码省略.........
sickrage.srCore.srLogger.error(
"Unable to add show due to an error with " + srIndexerApi(
self.indexer).name + ": {}".format(e.message))
if self.show:
sickrage.srCore.srNotifications.error(
"Unable to add " + str(self.show.name) + " due to an error with " + srIndexerApi(
self.indexer).name + "")
else:
sickrage.srCore.srNotifications.error(
"Unable to add show due to an error with " + srIndexerApi(self.indexer).name + "")
return self._finishEarly()
except MultipleShowObjectsException:
sickrage.srCore.srLogger.warning("The show in " + self.showDir + " is already in your show list, skipping")
sickrage.srCore.srNotifications.error('Show skipped',
"The show in " + self.showDir + " is already in your show list")
return self._finishEarly()
except Exception as e:
sickrage.srCore.srLogger.error("Error trying to add show: {}".format(e.message))
sickrage.srCore.srLogger.debug(traceback.format_exc())
raise self._finishEarly()
sickrage.srCore.srLogger.debug("Retrieving show info from TMDb")
try:
self.show.loadTMDbInfo()
except Exception as e:
sickrage.srCore.srLogger.error("Error loading TMDb info: {}".format(e.message))
try:
sickrage.srCore.srLogger.debug("Attempting to retrieve show info from IMDb")
self.show.loadIMDbInfo()
except Exception as e:
sickrage.srCore.srLogger.error("Error loading IMDb info: {}".format(e.message))
# Load XEM data to DB for show
xem_refresh(self.show.indexerid, self.show.indexer, force=True)
# check if show has XEM mapping so we can determin if searches should go by scene numbering or indexer numbering.
if not self.scene and get_xem_numbering_for_show(self.show.indexerid, self.show.indexer):
self.show.scene = 1
try:
self.show.saveToDB()
except Exception as e:
sickrage.srCore.srLogger.error("Error saving the show to the database: {}".format(e.message))
sickrage.srCore.srLogger.debug(traceback.format_exc())
raise self._finishEarly()
# add it to the show list
sickrage.srCore.SHOWLIST.append(self.show)
try:
self.show.loadEpisodesFromIndexer()
except Exception as e:
sickrage.srCore.srLogger.error(
"Error with " + srIndexerApi(
self.show.indexer).name + ", not creating episode list: {}".format(e.message))
sickrage.srCore.srLogger.debug(traceback.format_exc())
try:
self.show.loadEpisodesFromDir()
except Exception as e:
sickrage.srCore.srLogger.debug("Error searching dir for episodes: {}".format(e.message))
sickrage.srCore.srLogger.debug(traceback.format_exc())
# if they set default ep status to WANTED then run the backlog to search for episodes
if self.show.default_ep_status == WANTED:
sickrage.srCore.srLogger.info("Launching backlog for this show since its episodes are WANTED")
sickrage.srCore.BACKLOGSEARCHER.searchBacklog([self.show])
self.show.writeMetadata()
self.show.updateMetadata()
self.show.populateCache()
if sickrage.srCore.srConfig.USE_TRAKT:
# if there are specific episodes that need to be added by trakt
sickrage.srCore.TRAKTSEARCHER.manageNewShow(self.show)
# add show to trakt.tv library
if sickrage.srCore.srConfig.TRAKT_SYNC:
sickrage.srCore.TRAKTSEARCHER.addShowToTraktLibrary(self.show)
if sickrage.srCore.srConfig.TRAKT_SYNC_WATCHLIST:
sickrage.srCore.srLogger.info("update watchlist")
sickrage.srCore.notifiersDict.trakt_notifier.update_watchlist(show_obj=self.show)
# After initial add, set to default_status_after.
sickrage.srCore.srLogger.info(
"Setting all future episodes to the specified default status: " + str(self.default_status_after))
self.show.default_ep_status = self.default_status_after
self.show.saveToDB()
sickrage.srCore.NAMECACHE.buildNameCache(self.show)
sickrage.srCore.srLogger.info("Finished adding show {}".format(self.showDir))
def _finishEarly(self):
if self.show:
sickrage.srCore.SHOWQUEUE.removeShow(self.show)
示例2: QueueItemAdd
# 需要导入模块: from sickrage.core.tv.show import TVShow [as 别名]
# 或者: from sickrage.core.tv.show.TVShow import writeMetadata [as 别名]
#.........这里部分代码省略.........
# if self.show.classification and "sports" in self.show.classification.lower():
# self.show.sports = 1
except indexer_exception as e:
sickrage.app.log.error(
"Unable to add show due to an error with " + IndexerApi(
self.indexer).name + ": {}".format(e.message))
if self.show:
sickrage.app.alerts.error(
_("Unable to add ") + str(self.show.name) + _(" due to an error with ") + IndexerApi(
self.indexer).name + "")
else:
sickrage.app.alerts.error(
_("Unable to add show due to an error with ") + IndexerApi(self.indexer).name + "")
return self._finishEarly()
except MultipleShowObjectsException:
sickrage.app.log.warning("The show in " + self.showDir + " is already in your show list, skipping")
sickrage.app.alerts.error(_('Show skipped'),
_("The show in ") + self.showDir + _(" is already in your show list"))
return self._finishEarly()
except Exception as e:
sickrage.app.log.error("Error trying to add show: {}".format(e.message))
sickrage.app.log.debug(traceback.format_exc())
raise self._finishEarly()
try:
sickrage.app.log.debug("Attempting to retrieve show info from IMDb")
self.show.loadIMDbInfo()
except Exception as e:
sickrage.app.log.error("Error loading IMDb info: {}".format(e.message))
try:
self.show.saveToDB()
except Exception as e:
sickrage.app.log.error("Error saving the show to the database: {}".format(e.message))
sickrage.app.log.debug(traceback.format_exc())
raise self._finishEarly()
# add it to the show list
if not findCertainShow(sickrage.app.showlist, self.indexer_id): sickrage.app.showlist.append(self.show)
try:
self.show.loadEpisodesFromIndexer()
except Exception as e:
sickrage.app.log.error(
"Error with " + IndexerApi(
self.show.indexer).name + ", not creating episode list: {}".format(e.message))
sickrage.app.log.debug(traceback.format_exc())
try:
self.show.loadEpisodesFromDir()
except Exception as e:
sickrage.app.log.debug("Error searching dir for episodes: {}".format(e.message))
sickrage.app.log.debug(traceback.format_exc())
# if they set default ep status to WANTED then run the backlog to search for episodes
if self.show.default_ep_status == WANTED:
sickrage.app.log.info("Launching backlog for this show since its episodes are WANTED")
sickrage.app.backlog_searcher.searchBacklog([self.show])
self.show.writeMetadata()
self.show.updateMetadata()
self.show.populateCache()
if sickrage.app.config.use_trakt:
# if there are specific episodes that need to be added by trakt
sickrage.app.trakt_searcher.manageNewShow(self.show)
# add show to trakt.tv library
if sickrage.app.config.trakt_sync:
sickrage.app.trakt_searcher.addShowToTraktLibrary(self.show)
if sickrage.app.config.trakt_sync_watchlist:
sickrage.app.log.info("update watchlist")
sickrage.app.notifier_providers['trakt'].update_watchlist(show_obj=self.show)
# Load XEM data to DB for show
xem_refresh(self.show.indexerid, self.show.indexer, force=True)
# check if show has XEM mapping so we can determin if searches should go by scene numbering or indexer numbering.
if not self.scene and get_xem_numbering_for_show(self.show.indexerid, self.show.indexer):
self.show.scene = 1
self.show.default_ep_status = self.default_status_after
self.show.saveToDB()
sickrage.app.name_cache.build(self.show)
self.finish()
sickrage.app.log.info(
"Finished adding show {} in {}s from show dir: {}".format(self.show_name,
round(time.time() - self.startTime, 2),
self.showDir))
def _finishEarly(self):
if self.show: sickrage.app.show_queue.removeShow(self.show)