Add exception-catchers that point out exactly which game or channel causes a crash

This commit is contained in:
DevilXD
2024-02-17 11:31:37 +01:00
parent dbd3cd82a0
commit a536dde677
2 changed files with 19 additions and 13 deletions

View File

@@ -244,9 +244,12 @@ class Channel:
return URLType(match.group(1))
async def get_stream(self) -> Stream | None:
response: JsonType = await self._twitch.gql_request(
GQL_OPERATIONS["GetStreamInfo"].with_variables({"channel": self._login})
)
try:
response: JsonType = await self._twitch.gql_request(
GQL_OPERATIONS["GetStreamInfo"].with_variables({"channel": self._login})
)
except MinerException as exc:
raise MinerException(f"Channel: {self._login}") from exc
stream_data: JsonType | None = response["data"]["user"]
if not stream_data:
return None

View File

@@ -1710,16 +1710,19 @@ class Twitch:
return None
async def get_live_streams(self, game: Game, *, limit: int = 30) -> list[Channel]:
response = await self.gql_request(
GQL_OPERATIONS["GameDirectory"].with_variables({
"limit": limit,
"slug": game.slug,
"options": {
"includeRestricted": ["SUB_ONLY_LIVE"],
"systemFilters": ["DROPS_ENABLED"],
},
})
)
try:
response = await self.gql_request(
GQL_OPERATIONS["GameDirectory"].with_variables({
"limit": limit,
"slug": game.slug,
"options": {
"includeRestricted": ["SUB_ONLY_LIVE"],
"systemFilters": ["DROPS_ENABLED"],
},
})
)
except MinerException as exc:
raise MinerException(f"Game: {game.slug}") from exc
if "game" in response["data"]:
return [
Channel.from_directory(self, stream_channel_data["node"], drops_enabled=True)