Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
b'FROM '
b' tv_episodes '
b'WHERE '
b' showid = ? '
b" AND location != ''", [self.indexerid])
sql_l = []
for ep in sql_results:
cur_loc = ek(os.path.normpath, ep[b'location'])
season = int(ep[b'season'])
episode = int(ep[b'episode'])
try:
cur_ep = self.get_episode(season, episode)
if not cur_ep:
raise EpisodeDeletedException
except EpisodeDeletedException:
logger.log(u'The episode was deleted while we were refreshing it, moving on to the next one',
logger.DEBUG)
continue
# if the path doesn't exist or if it's not in our show dir
if not ek(os.path.isfile, cur_loc) or not ek(os.path.normpath, cur_loc).startswith(
ek(os.path.normpath, self.location)):
# check if downloaded files still exist, update our data if this has changed
if not sickbeard.SKIP_REMOVED_FILES:
with cur_ep.lock:
# if it used to have a file associated with it and it doesn't anymore then
# set it to sickbeard.EP_DEFAULT_DELETED_STATUS
if cur_ep.location and cur_ep.status in Quality.DOWNLOADED:
logger.log(u'Deleting {show} {ep} from the DB'.format
(show=self.show.name, ep=episode_num(self.season, self.episode)), logger.DEBUG)
# remove myself from the show dictionary
if self.show.get_episode(self.season, self.episode, no_create=True) == self:
logger.log(u"Removing myself from my show's list", logger.DEBUG)
del self.show.episodes[self.season][self.episode]
# delete myself from the DB
logger.log(u'Deleting myself from the database', logger.DEBUG)
main_db_con = db.DBConnection()
sql = b'DELETE FROM tv_episodes WHERE showid=' + str(self.show.indexerid) + b' AND season=' + str(
self.season) + b' AND episode=' + str(self.episode)
main_db_con.action(sql)
raise EpisodeDeletedException()