From 808f87ca9cb7949ae173fd24194e9529b78eabd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Louis=20V=C3=A9zina?= <5130500+morpheus65535@users.noreply.github.com> Date: Sun, 3 Nov 2019 08:36:10 -0500 Subject: [PATCH] Fix for added episodes and movies not being analyzed for existing subtitles or searched for missing. --- bazarr/get_episodes.py | 2 +- bazarr/get_movies.py | 2 +- libs/sqlite3worker.py | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/bazarr/get_episodes.py b/bazarr/get_episodes.py index 41e1bae2c..e68cdcc41 100644 --- a/bazarr/get_episodes.py +++ b/bazarr/get_episodes.py @@ -154,7 +154,7 @@ def sync_episodes(): result = database.execute( '''INSERT OR IGNORE INTO table_episodes(''' + query.keys_insert + ''') VALUES(''' + query.question_marks + ''')''', query.values) - if result: + if result > 0: altered_episodes.append([added_episode['sonarrEpisodeId'], added_episode['path']]) else: logging.debug('BAZARR unable to insert this episode into the database:', diff --git a/bazarr/get_movies.py b/bazarr/get_movies.py index 11a35dbf0..02c0b0e17 100644 --- a/bazarr/get_movies.py +++ b/bazarr/get_movies.py @@ -238,7 +238,7 @@ def update_movies(): result = database.execute( '''INSERT OR IGNORE INTO table_movies(''' + query.keys_insert + ''') VALUES(''' + query.question_marks + ''')''', query.values) - if result: + if result > 0: altered_movies.append([added_movie['tmdbId'], added_movie['path'], added_movie['radarrId'], diff --git a/libs/sqlite3worker.py b/libs/sqlite3worker.py index fc589cc0b..989994628 100644 --- a/libs/sqlite3worker.py +++ b/libs/sqlite3worker.py @@ -137,7 +137,11 @@ class Sqlite3Worker(threading.Thread): else: try: self.sqlite3_cursor.execute(query, values) + if query.lower().strip().startswith(("insert", "update")): + self.results[token] = self.sqlite3_cursor.rowcount except sqlite3.Error as err: + self.results[token] = ( + "Query returned error: %s: %s: %s" % (query, values, err)) LOGGER.error( "Query returned error: %s: %s: %s", query, values, err) @@ -196,7 +200,7 @@ class Sqlite3Worker(threading.Thread): token = str(uuid.uuid4()) # If it's a select we queue it up with a token to mark the results # into the output queue so we know what results are ours. - if query.lower().strip().startswith("select"): + if query.lower().strip().startswith(("select", "insert", "update")): self.sql_queue.put((token, query, values, only_one), timeout=5) return self.query_results(token) else: