Browse Source

condense/reorder logic in storeTMDBQueryResults()

master
cinnaboot 6 years ago
parent
commit
2ef7691bd4
  1. 50
      video_metadata/views/tmdb.py

50
video_metadata/views/tmdb.py

@ -512,31 +512,33 @@ def storeTMDBQueryResults(query_obj, 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 * 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}'
)
break
try:
current_app.logger.debug(f'adding query details for "{r.title}"')
cur.execute(f'INSERT INTO query_details({id_column}, '
+ 'media_type, title, overview, release_date, original_language, poster_path)'
+ ' VALUES (?,?,?,?,?,?,?)',
(id_val, r.media_type, r.title, r.overview, r.release_date,
r.original_language, r.poster_path)
)
# NOTE: need to set detail_id here to avoid a second query in create_path_mapping
r.detail_id = cur.lastrowid
# NOTE: check stored details before trying to add to local db to avoid unique key
# constraint error
cur.execute(f'SELECT * FROM query_details WHERE {id_column}=?', (id_val, ))
match = cur.fetchone()
if match is not None:
r.detail_id = match['detail_id']
cur.execute(f'INSERT INTO query_mapping(query_id, detail_id)'
+ ' VALUES (?,?)', (query_id, r.detail_id)
)
current_app.logger.debug(
f'skipping result that is already saved. {id_column}: {id_val}, title: {r.title}'
)
else:
current_app.logger.debug(f'adding query details for "{r.title}"')
cur.execute(f'INSERT INTO query_details({id_column}, '
+ 'media_type, title, overview, release_date, original_language, poster_path)'
+ ' VALUES (?,?,?,?,?,?,?)',
(id_val, r.media_type, r.title, r.overview, r.release_date,
r.original_language, r.poster_path)
)
# NOTE: need to set detail_id here to avoid a second query in create_path_mapping
r.detail_id = cur.lastrowid
cur.execute(f'INSERT INTO query_mapping(query_id, detail_id)'
+ ' VALUES (?,?)', (query_id, r.detail_id)

Loading…
Cancel
Save