From fcd60c7afce2c2000ec6a35b8362f679dfd387d9 Mon Sep 17 00:00:00 2001 From: Blondel MONDESIR Date: Tue, 18 Jun 2024 09:00:20 -0400 Subject: [PATCH 1/3] Ensure error column is created from the start --- cps/tasks/metadata_extract.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cps/tasks/metadata_extract.py b/cps/tasks/metadata_extract.py index be3963532f..3caa180571 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 FROM media WHERE error IS NULL AND path LIKE 'http%'" - if "error" in self.columns - else "SELECT path, duration FROM media WHERE path LIKE 'http%'") + query = "SELECT path, duration FROM media WHERE path LIKE 'http%'" + if "error" in self.columns: + query += " AND error IS NULL" + else: + conn.execute("ALTER TABLE media ADD COLUMN error TEXT") rows = conn.execute(query).fetchall() requested_urls = {} for path, duration in rows: From 2546b4e780f89349a7c6ee2053d872ddf27be1c4 Mon Sep 17 00:00:00 2001 From: Blondel MONDESIR Date: Sun, 21 Jul 2024 07:53:57 -0400 Subject: [PATCH 2/3] Ensure error column is created --- cps/tasks/metadata_extract.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cps/tasks/metadata_extract.py b/cps/tasks/metadata_extract.py index a946790ba9..fa3fd183a8 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%'") + query = "SELECT path, duration, live_status FROM media WHERE path LIKE 'http%'" + if "error" in self.columns: + query += " AND error IS NULL" + else: + conn.execute("ALTER TABLE media ADD COLUMN error TEXT") rows = conn.execute(query).fetchall() requested_urls = {} for path, duration, live_status in rows: From 86fa47abda620bf1de77ae65508f219bff36ccb4 Mon Sep 17 00:00:00 2001 From: Blondel MONDESIR Date: Sun, 21 Jul 2024 17:06:41 -0400 Subject: [PATCH 3/3] Add live_status if not exist --- cps/tasks/metadata_extract.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cps/tasks/metadata_extract.py b/cps/tasks/metadata_extract.py index fa3fd183a8..8ec614d4a9 100644 --- a/cps/tasks/metadata_extract.py +++ b/cps/tasks/metadata_extract.py @@ -63,11 +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 path LIKE 'http%'" - if "error" in self.columns: - query += " AND error IS NULL" - else: + 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: