🐛 Blacklist on SteamAPI 403
This commit is contained in:
@@ -2,6 +2,7 @@ from src.game import Game
|
||||
from src.store.managers.async_manager import AsyncManager
|
||||
from src.utils.steam import (
|
||||
HTTPError,
|
||||
SteamForbiddenError,
|
||||
SteamGameNotFoundError,
|
||||
SteamHelper,
|
||||
SteamNotAGameError,
|
||||
@@ -23,7 +24,7 @@ class SteamAPIManager(AsyncManager):
|
||||
steam = SteamHelper()
|
||||
try:
|
||||
online_data = steam.get_api_data(appid=appid)
|
||||
except (SteamNotAGameError, SteamGameNotFoundError):
|
||||
except (SteamNotAGameError, SteamGameNotFoundError, SteamForbiddenError):
|
||||
game.update_values({"blacklisted": True})
|
||||
else:
|
||||
game.update_values(online_data)
|
||||
|
||||
@@ -22,6 +22,10 @@ class SteamInvalidManifestError(SteamError):
|
||||
pass
|
||||
|
||||
|
||||
class SteamForbiddenError(SteamError):
|
||||
pass
|
||||
|
||||
|
||||
class SteamManifestData(TypedDict):
|
||||
"""Dict returned by SteamHelper.get_manifest_data"""
|
||||
|
||||
@@ -64,6 +68,8 @@ class SteamHelper:
|
||||
with requests.get(
|
||||
f"{self.base_url}/appdetails?appids={appid}", timeout=5
|
||||
) as response:
|
||||
if response.status_code == 403:
|
||||
raise SteamForbiddenError()
|
||||
response.raise_for_status()
|
||||
data = response.json()[appid]
|
||||
except HTTPError as error:
|
||||
|
||||
Reference in New Issue
Block a user