Catch Twitch API being down where needed

This commit is contained in:
Deko
2023-03-04 11:12:24 +01:00
parent 13d64dac3d
commit 98d978dea0

View File

@@ -5,6 +5,7 @@ from dataclasses import dataclass
import requests
from loguru import logger
from requests import HTTPError
from urllib3.exceptions import NewConnectionError
@dataclass
@@ -105,6 +106,7 @@ class TwitchClient:
return response.json()["data"][0]["profile_image_url"]
def get_stream(self, is_retry: bool = False) -> StreamInformation | None:
try:
response = requests.get(
url="https://api.twitch.tv/helix/streams",
headers={
@@ -113,6 +115,9 @@ class TwitchClient:
},
params={"user_login": self.streamer},
)
except NewConnectionError:
logger.warning("Twitch API is not reachable at the moment.")
return None
if response.status_code == 401:
logger.info("Getting streams returned an auth issue.")
@@ -147,6 +152,7 @@ class TwitchClient:
)
def get_vod(self, user_id: str, is_retry: bool = False) -> str | None:
try:
response = requests.get(
url="https://api.twitch.tv/helix/videos",
headers={
@@ -155,6 +161,9 @@ class TwitchClient:
},
params={"user_id": user_id},
)
except NewConnectionError:
logger.warning("Twitch API is not reachable at the moment.")
return None
if response.status_code == 401:
logger.info("Getting vod returned an auth issue.")