diff --git a/video_metadata/views/tmdb.py b/video_metadata/views/tmdb.py index ddd625a..5bc8603 100644 --- a/video_metadata/views/tmdb.py +++ b/video_metadata/views/tmdb.py @@ -81,7 +81,7 @@ class response_data: @dataclass class view_result: detail_id:int = 0 - media_type:str = 'unknown' + media_type:media_type = media_type.UNKNOWN movie_id:int = 0 tv_id:int = 0 title:str = '' @@ -369,21 +369,21 @@ def doQueryAlgorithm(query:query_data) -> dict: # TODO: it's possible for the query results to span multiple 'pages' # see) https://developers.themoviedb.org/3/search/search-movies for r in res: - current_app.logger.debug(util.dumpObject(r)) vr = view_result() - vr.detail_id = r.id - vr.media_type = media_type.MOVIE vr.overview = r.overview vr.genre_ids = r.genre_ids vr.original_language = r.original_language vr.poster_path = r.poster_path + vr.media_type = query.media_type if query.media_type == media_type.MOVIE: vr.title = r.title + vr.movie_id = r.id vr.tmdb_link = TMDB_MOVIE_LINK_URL + str(r.id) vr.release_date = r.release_date elif query.media_type == media_type.TV_SHOW: vr.title = r.name + vr.tv_id = r.id vr.tmdb_link = TMDB_TV_LINK_URL + str(r.id) vr.release_date = r.first_air_date @@ -507,14 +507,15 @@ def storeTMDBQueryResults(query_obj, result_list): for r in result_list: id_column = getIDColumn(r.media_type) + id_val = r.movie_id if (r.media_type == media_type.MOVIE) else r.tv_id # 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}=?', (r.detail_id, )) + cur.execute(f'SELECT COUNT(*) FROM query_details WHERE {id_column}=?', (id_val, )) count = cur.fetchone()[0] if count > 0: current_app.logger.debug( - f'skipping result that is already saved. id: {r.detail_id}, title: {r.title}' + f'skipping result that is already saved. {id_column}: {id_val}, title: {r.title}' ) break @@ -523,7 +524,7 @@ def storeTMDBQueryResults(query_obj, result_list): cur.execute(f'INSERT INTO query_details({id_column}, ' + 'media_type, title, overview, release_date, original_language, poster_path)' + ' VALUES (?,?,?,?,?,?,?)', - (r.detail_id, r.media_type, r.title, r.overview, r.release_date, + (id_val, r.media_type, r.title, r.overview, r.release_date, r.original_language, r.poster_path) )