1
0
mirror of synced 2025-01-18 22:24:04 +01:00

iidx: update api to support qpros in catalog

This commit is contained in:
seth 2021-05-17 21:51:45 +00:00 committed by Jennifer Taylor
parent c77d834091
commit 84e731aabb
2 changed files with 34 additions and 0 deletions

View File

@ -155,11 +155,30 @@ class CatalogObject(BaseObject):
else:
return {"emblems": []}
def __format_iidx_extras(self) -> Dict[str, List[Dict[str, Any]]]:
# Gotta look up the unlock catalog
items = self.data.local.game.get_items(self.game, self.version)
return {
"qpros": [
{
"identifier": item.data.get_str("identifier"),
"id": str(item.id),
"name": item.data.get_str("name"),
"type": item.type[3:],
}
for item in items
if item.type in ['qp_body', 'qp_face', 'qp_hair', 'qp_hand', 'qp_head']
],
}
def __format_extras(self) -> Dict[str, List[Dict[str, Any]]]:
if self.game == GameConstants.SDVX:
return self.__format_sdvx_extras()
elif self.game == GameConstants.JUBEAT:
return self.__format_jubeat_extras()
elif self.game == GameConstants.IIDX:
return self.__format_iidx_extras()
else:
return {}

View File

@ -38,6 +38,17 @@ class GlobalGameData(BaseGlobalData):
},
)
def __translate_iidx_qpros(self, entry: Dict[str, Any]) -> Item:
return Item(
f'qp_{entry["type"]}',
int(entry["id"]),
{
"identifier": entry["identifier"],
"name": entry["name"],
"type": entry["type"],
}
)
def get_items(self, game: str, version: int) -> List[Item]:
"""
Given a game/userid, find all items in the catalog.
@ -68,6 +79,10 @@ class GlobalGameData(BaseGlobalData):
translation = {
"emblems": self.__translate_jubeat_emblems,
}.get(catalogtype, None)
elif game == GameConstants.IIDX:
translation = {
"qpros": self.__translate_iidx_qpros,
}.get(catalogtype, None)
else:
translation = None