[videogames] Order by ID desc from IGDB to get better results

This commit is contained in:
2024-03-18 14:41:00 -04:00
parent 302ddf6650
commit 750fa05b15

View File

@ -1,11 +1,12 @@
import json
import logging
from datetime import datetime
from operator import itemgetter
from typing import Dict, Tuple
from django.conf import settings
import pytz
import requests
from django.conf import settings
from django.contrib.auth import get_user_model
TWITCH_AUTH_BASE = "https://id.twitch.tv/"
@ -49,9 +50,22 @@ def lookup_game_id_from_gdb(name: str) -> str:
response = requests.post(SEARCH_URL, data=body, headers=headers)
results = json.loads(response.content)
if not results:
logger.warn(f"Search of game on IGDB failed for name {name}")
logger.warn(
f"Search of game on IGDB failed, no results found",
extra={"name": name},
)
return ""
if results[0].get("status") == 406:
logger.warn(
f"Search of game on IGBD failed, API error",
extra={
"cause": results.get("cause"),
"details": results.get("details"),
},
)
# Sort our result by IDs so we always get the lowest ID, which is likely to be the least esoteric game
results = sorted(results, key=itemgetter("id"), reverse=True)
return results[0].get("game", "")