mirror of
https://github.com/lutris/lutris
synced 2024-10-06 07:50:16 +00:00
Use game aliases to download game media
This commit is contained in:
parent
cafe4cdc67
commit
1a428bc27e
|
@ -131,7 +131,7 @@ def get_game_api_page(game_ids, page="1", query_type="games"):
|
|||
return response_data
|
||||
|
||||
|
||||
def get_api_games(game_slugs=None, page="1", query_type="games"):
|
||||
def get_api_games(game_slugs=None, page="1", query_type="games", inject_aliases=False):
|
||||
"""Return all games from the Lutris API matching the given game slugs"""
|
||||
response_data = get_game_api_page(game_slugs, page=page, query_type=query_type)
|
||||
if not response_data:
|
||||
|
@ -150,6 +150,15 @@ def get_api_games(game_slugs=None, page="1", query_type="games"):
|
|||
break
|
||||
else:
|
||||
results += response_data.get("results")
|
||||
if game_slugs and inject_aliases:
|
||||
matched_games = []
|
||||
for game in results:
|
||||
for alias_slug in [alias["slug"] for alias in game.get("aliases", [])]:
|
||||
if alias_slug in game_slugs:
|
||||
matched_games.append((alias_slug, game))
|
||||
for alias_slug, game in matched_games:
|
||||
game["slug"] = alias_slug
|
||||
results.append(game)
|
||||
return results
|
||||
|
||||
|
||||
|
|
|
@ -142,7 +142,7 @@ class GameStore(GObject.Object):
|
|||
logger.debug(
|
||||
"Requesting missing icons from API for %d games", len(missing_media_slugs)
|
||||
)
|
||||
lutris_media = api.get_api_games(missing_media_slugs)
|
||||
lutris_media = api.get_api_games(missing_media_slugs, inject_aliases=True)
|
||||
if not lutris_media:
|
||||
return
|
||||
|
||||
|
|
Loading…
Reference in a new issue