diff --git a/cps/tasks/metadata_extract.py b/cps/tasks/metadata_extract.py index a946790ba9..8ec614d4a9 100644 --- a/cps/tasks/metadata_extract.py +++ b/cps/tasks/metadata_extract.py @@ -63,9 +63,11 @@ def _fetch_requested_urls(self, conn): try: cursor = conn.execute("PRAGMA table_info(media)") self.columns = [column[1] for column in cursor.fetchall()] - query = ("SELECT path, duration, live_status FROM media WHERE error IS NULL AND path LIKE 'http%'" - if "error" in self.columns - else "SELECT path, duration, live_status FROM media WHERE path LIKE 'http%'") + if "live_status" not in self.columns: + conn.execute("ALTER TABLE media ADD COLUMN live_status TEXT") + if "error" not in self.columns: + conn.execute("ALTER TABLE media ADD COLUMN error TEXT") + query = "SELECT path, duration, live_status FROM media WHERE path LIKE 'http%' AND (error IS NULL OR error = '')" rows = conn.execute(query).fetchall() requested_urls = {} for path, duration, live_status in rows: