Browse Source

add new function buildViewResultFromAPI

master
cinnaboot 6 years ago
parent
commit
5536943210
  1. 53
      video_metadata/views/tmdb.py

53
video_metadata/views/tmdb.py

@ -353,28 +353,7 @@ def doQueryAlgorithm(query:query_data) -> dict:
# TODO: it's possible for the query results to span multiple 'pages' # TODO: it's possible for the query results to span multiple 'pages'
# see) https://developers.themoviedb.org/3/search/search-movies # see) https://developers.themoviedb.org/3/search/search-movies
for r in res: for r in res:
vr = view_result() view_results.append(buildViewResultFromAPI(r, query.media_type))
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)
storeTMDBQueryResults(query, view_results) storeTMDBQueryResults(query, view_results)
@ -451,6 +430,36 @@ def makeLocalQuery(query_obj):
return results 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): def buildViewResult(db_row):
if not db_row: if not db_row:
current_app.logger.error('empty db_row parameter') current_app.logger.error('empty db_row parameter')

Loading…
Cancel
Save