Skip to content

Commit bcfc0a7

Browse files
committed
feat: Implement get_title_info_by_pfn
1 parent 12b58ec commit bcfc0a7

1 file changed

Lines changed: 33 additions & 13 deletions

File tree

xbox/webapi/api/provider/titlehub/__init__.py

Lines changed: 33 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -61,19 +61,9 @@ async def get_title_history(
6161
resp.raise_for_status()
6262
return TitleHubResponse(**resp.json())
6363

64-
async def get_title_info(
65-
self, title_id: str, fields: Optional[List[TitleFields]] = None, **kwargs
64+
async def _get_title_info(
65+
self, moniker: str, fields: Optional[List[TitleFields]] = None, **kwargs
6666
) -> TitleHubResponse:
67-
"""
68-
Get info for specific title
69-
70-
Args:
71-
title_id: Title Id
72-
fields: List of title fields
73-
74-
Returns:
75-
:class:`TitleHubResponse`: Title Hub Response
76-
"""
7767
if not fields:
7868
fields = [
7969
TitleFields.ACHIEVEMENT,
@@ -84,11 +74,41 @@ async def get_title_info(
8474
]
8575
fields = self.SEPARATOR.join(fields)
8676

87-
url = f"{self.TITLEHUB_URL}/users/xuid({self.client.xuid})/titles/titleid({title_id})/decoration/{fields}"
77+
url = f"{self.TITLEHUB_URL}/users/xuid({self.client.xuid})/titles/{moniker}/decoration/{fields}"
8878
resp = await self.client.session.get(url, headers=self._headers, **kwargs)
8979
resp.raise_for_status()
9080
return TitleHubResponse(**resp.json())
9181

82+
async def get_title_info(
83+
self, title_id: str, fields: Optional[List[TitleFields]] = None, **kwargs
84+
) -> TitleHubResponse:
85+
"""
86+
Get info for specific title
87+
88+
Args:
89+
title_id: Title Id
90+
fields: List of title fields
91+
92+
Returns:
93+
:class:`TitleHubResponse`: Title Hub Response
94+
"""
95+
return await self._get_title_info(f"titleid({title_id})", fields, **kwargs)
96+
97+
async def get_title_info_by_pfn(
98+
self, pfn: str, fields: Optional[List[TitleFields]] = None, **kwargs
99+
) -> TitleHubResponse:
100+
"""
101+
Get info for specific title by PFN
102+
103+
Args:
104+
pfn: Package family name
105+
fields: List of title fields
106+
107+
Returns:
108+
:class:`TitleHubResponse`: Title Hub Response
109+
"""
110+
return await self._get_title_info(f"pfn({pfn})", fields, **kwargs)
111+
92112
async def get_titles_batch(
93113
self, pfns: List[str], fields: Optional[List[TitleFields]] = None, **kwargs
94114
) -> TitleHubResponse:

0 commit comments

Comments
 (0)