catch IGDB API error

This commit is contained in:
Your Name 2024-12-25 16:02:34 -05:00 committed by Henri Dickson
parent a8a6028875
commit dfc1f3ed14

View file

@ -69,7 +69,11 @@ class IGDB(AbstractSite):
r = BasicDownloader(key).download().json()
else:
_wrapper = IGDBWrapper(settings.IGDB_CLIENT_ID, _igdb_access_token())
r = json.loads(_wrapper.api_request(p, q)) # type: ignore
try:
r = json.loads(_wrapper.api_request(p, q)) # type: ignore
except requests.HTTPError as e:
logger.error("IGDB API: {e}", extra={"exception": e})
return []
if settings.DOWNLOADER_SAVEDIR:
with open(
settings.DOWNLOADER_SAVEDIR + "/" + get_mock_file(key),
@ -119,7 +123,10 @@ class IGDB(AbstractSite):
def scrape(self):
fields = "*, cover.url, genres.name, platforms.name, involved_companies.*, involved_companies.company.name"
r = self.api_query("games", f'fields {fields}; where url = "{self.url}";')[0]
r = self.api_query("games", f'fields {fields}; where url = "{self.url}";')
if not r:
raise ParseError(self, "no data")
r = r[0]
brief = r["summary"] if "summary" in r else ""
brief += "\n\n" + r["storyline"] if "storyline" in r else ""
developer = None