def load_episode_by_rss_id(self, rss_episode_id=None): sql = "SELECT * FROM " + self.table_episodes + " AS e WHERE rss_episode_id = ? LIMIT 1" cur = self.db.cursor() cur.row_factory = sqlite3.Row cur.execute(sql, [rss_episode_id]) d = cur.fetchone() e = Episode(episode_id=d['id'], rss_episode_id=d["rss_episode_id"], duration=d["duration"], title=d["title"], description=d["description"], subtitle=d["subtitle"], link=d["link"], published=d["published"], image=d["image"], chapters=[]) sql = "SELECT * FROM " + self.table_chapters + " WHERE episode_id = ?" cur.row_factory = sqlite3.Row cur.execute(sql, [d["id"]]) d = cur.fetchall() chapters = [] for c in d: chapters.append( Chapter(c["start"], c["title"], chapter_id=c["id"], episode_id=c["episode_id"], image=c["image"], href=c["href"])) e.chapters = chapters return e