From fb9ca76191c37c3d652c766257bb22c896a90270 Mon Sep 17 00:00:00 2001 From: cinnaboot Date: Sun, 21 Jun 2020 17:47:31 -0400 Subject: [PATCH] fix bug when mapping to existing detail_id --- video_metadata/views/tmdb.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/video_metadata/views/tmdb.py b/video_metadata/views/tmdb.py index 6da2ee4..d43fd99 100644 --- a/video_metadata/views/tmdb.py +++ b/video_metadata/views/tmdb.py @@ -514,9 +514,13 @@ def storeTMDBQueryResults(query_obj, result_list): # NOTE: check stored details before trying to add to local db to avoid unique key # constraint error - cur.execute(f'SELECT COUNT(*) FROM query_details WHERE {id_column}=?', (id_val, )) - count = cur.fetchone()[0] - if count > 0: + cur.execute(f'SELECT * FROM query_details WHERE {id_column}=?', (id_val, )) + match = cur.fetchone() + if match is not None: + cur.execute(f'INSERT INTO query_mapping(query_id, detail_id)' + + ' VALUES (?,?)', (query_id, match['detail_id']) + ) + current_app.logger.debug( f'skipping result that is already saved. {id_column}: {id_val}, title: {r.title}' ) @@ -535,7 +539,7 @@ def storeTMDBQueryResults(query_obj, result_list): r.detail_id = cur.lastrowid cur.execute(f'INSERT INTO query_mapping(query_id, detail_id)' - + ' VALUES (?,?)', (query_id, cur.lastrowid) + + ' VALUES (?,?)', (query_id, r.detail_id) ) except DatabaseError as e: query_obj.errors.append(f'database error \'{e}\'')