|
|
|
@ -122,7 +122,7 @@ def list_movie_test(sorting = 'title'): |
|
|
|
md.*, pc.path |
|
|
|
md.*, pc.path |
|
|
|
FROM |
|
|
|
FROM |
|
|
|
query_details md |
|
|
|
query_details md |
|
|
|
JOIN path_cache pc ON pc.detail_id=md.detail_id |
|
|
|
JOIN path_cache pc ON pc.detail_id=md._id |
|
|
|
ORDER BY |
|
|
|
ORDER BY |
|
|
|
{orderby}''' |
|
|
|
{orderby}''' |
|
|
|
|
|
|
|
|
|
|
|
@ -288,16 +288,18 @@ def doQueryAlgorithm(query:query_data) -> dict: |
|
|
|
if isQueryCached(query.parsed_query_str): |
|
|
|
if isQueryCached(query.parsed_query_str): |
|
|
|
view_results = makeLocalQuery(query) |
|
|
|
view_results = makeLocalQuery(query) |
|
|
|
current_app.logger.debug(f'view_results length: {len(view_results)}') |
|
|
|
current_app.logger.debug(f'view_results length: {len(view_results)}') |
|
|
|
else: |
|
|
|
elif makeTMDBQuery(query, response): |
|
|
|
makeTMDBQuery(query, response) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try: |
|
|
|
try: |
|
|
|
response.parsed_response = json.loads(response.response_body) |
|
|
|
response.parsed_response = json.loads(response.response_body) |
|
|
|
except json.JSONDecodeError as e: |
|
|
|
except json.JSONDecodeError as e: |
|
|
|
errors.append(e) |
|
|
|
errors.append(str(e)) |
|
|
|
|
|
|
|
|
|
|
|
if response.parsed_response and 'total_results' in response.parsed_response: |
|
|
|
#if response.parsed_response and 'total_results' in response.parsed_response: |
|
|
|
|
|
|
|
# response.result_count = response.parsed_response['total_results'] |
|
|
|
|
|
|
|
try: |
|
|
|
response.result_count = response.parsed_response['total_results'] |
|
|
|
response.result_count = response.parsed_response['total_results'] |
|
|
|
|
|
|
|
except TypeError as e: |
|
|
|
|
|
|
|
errors.append(str(e)) |
|
|
|
|
|
|
|
|
|
|
|
# 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 |
|
|
|
@ -423,6 +425,11 @@ def makeTMDBQuery(query_obj, response_obj): |
|
|
|
query_obj.errors.append('query type is not set') |
|
|
|
query_obj.errors.append('query type is not set') |
|
|
|
return False |
|
|
|
return False |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if query_obj.parsed_query_str == '': |
|
|
|
|
|
|
|
query_obj.errors.append(f'{util.getCurrentFileName()}:{util.getLineNum()},' |
|
|
|
|
|
|
|
f'{util.getFunctionName()}, empty query string') |
|
|
|
|
|
|
|
return False |
|
|
|
|
|
|
|
|
|
|
|
current_app.logger.info( |
|
|
|
current_app.logger.info( |
|
|
|
f'making remote query to TMDB API: ' |
|
|
|
f'making remote query to TMDB API: ' |
|
|
|
f'{query_obj.media_type.name}, "{query_obj.parsed_query_str}"' |
|
|
|
f'{query_obj.media_type.name}, "{query_obj.parsed_query_str}"' |
|
|
|
@ -444,10 +451,10 @@ def makeTMDBQuery(query_obj, response_obj): |
|
|
|
try: |
|
|
|
try: |
|
|
|
response = urllib.request.urlopen(req, context=context) |
|
|
|
response = urllib.request.urlopen(req, context=context) |
|
|
|
except HTTPError as e: |
|
|
|
except HTTPError as e: |
|
|
|
query_obj.errors.append(e) |
|
|
|
query_obj.errors.append(str(e)) |
|
|
|
return False |
|
|
|
return False |
|
|
|
except URLError as e: |
|
|
|
except URLError as e: |
|
|
|
query_obj.errors.append(e) |
|
|
|
query_obj.errors.append(str(e)) |
|
|
|
return False |
|
|
|
return False |
|
|
|
|
|
|
|
|
|
|
|
for k, v in response.info().items(): |
|
|
|
for k, v in response.info().items(): |
|
|
|
|