|
|
|
|
@ -353,28 +353,7 @@ 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: |
|
|
|
|
vr = view_result() |
|
|
|
|
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) |
|
|
|
|
|
|
|
|
|
if 'release_date' in r.__dict__: |
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
view_results.append(vr) |
|
|
|
|
view_results.append(buildViewResultFromAPI(r, query.media_type)) |
|
|
|
|
|
|
|
|
|
storeTMDBQueryResults(query, view_results) |
|
|
|
|
|
|
|
|
|
@ -451,6 +430,36 @@ def makeLocalQuery(query_obj):
|
|
|
|
|
return results |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def buildViewResultFromAPI(api_result:dict, mediaType:int) -> view_result: |
|
|
|
|
vr = view_result() |
|
|
|
|
vr.media_type = mediaType |
|
|
|
|
|
|
|
|
|
for k, v in api_result.__dict__.items(): |
|
|
|
|
if k == 'overview': vr.overview = v |
|
|
|
|
elif k == 'genre_ids': vr.genre_ids = v |
|
|
|
|
elif k == 'original_language': vr.original_language = v |
|
|
|
|
elif k == 'poster_path': vr.poster_path = v |
|
|
|
|
elif k == 'media_type': vr.media_type = v |
|
|
|
|
|
|
|
|
|
elif vr.media_type == media_type.MOVIE: |
|
|
|
|
if k == 'title': |
|
|
|
|
vr.title = v |
|
|
|
|
elif k == 'id': |
|
|
|
|
vr.movie_id = v |
|
|
|
|
vr.tmdb_link = TMDB_MOVIE_LINK_URL + str(v) |
|
|
|
|
elif k == 'release_date': |
|
|
|
|
vr.release_date = v |
|
|
|
|
elif vr.media_type == media_type.TV_SHOW: |
|
|
|
|
if k == 'name': |
|
|
|
|
vr.title = v |
|
|
|
|
elif k == 'id': |
|
|
|
|
vr.tv_id = v |
|
|
|
|
vr.tmdb_link = TMDB_TV_LINK_URL + str(v) |
|
|
|
|
elif k == 'first_air_date': |
|
|
|
|
vr.release_date = v |
|
|
|
|
|
|
|
|
|
return vr |
|
|
|
|
|
|
|
|
|
def buildViewResult(db_row): |
|
|
|
|
if not db_row: |
|
|
|
|
current_app.logger.error('empty db_row parameter') |
|
|
|
|
|