diff --git a/app/fetcher/__init__.py b/app/fetcher/__init__.py
index 6d8e46d..a2390f8 100644
--- a/app/fetcher/__init__.py
+++ b/app/fetcher/__init__.py
@@ -1,8 +1,8 @@
from __future__ import annotations
from .beatmap import BeatmapFetcher
+from .beatmap_raw import BeatmapRawFetcher
from .beatmapset import BeatmapsetFetcher
-from .osu_dot_direct import BeatmapRawFetcher
class Fetcher(BeatmapFetcher, BeatmapsetFetcher, BeatmapRawFetcher):
diff --git a/app/fetcher/osu_dot_direct.py b/app/fetcher/beatmap_raw.py
similarity index 86%
rename from app/fetcher/osu_dot_direct.py
rename to app/fetcher/beatmap_raw.py
index 529eae4..f650df3 100644
--- a/app/fetcher/osu_dot_direct.py
+++ b/app/fetcher/beatmap_raw.py
@@ -2,7 +2,7 @@ from __future__ import annotations
from ._base import BaseFetcher
-from httpx import AsyncClient
+from httpx import AsyncClient, HTTPError
from httpx._models import Response
from loguru import logger
import redis.asyncio as redis
@@ -22,12 +22,10 @@ class BeatmapRawFetcher(BaseFetcher):
f"[BeatmapRawFetcher] get_beatmap_raw: {req_url}"
)
resp = await self._request(req_url)
- if resp.status_code == 429:
+ if resp.status_code >= 400:
continue
- elif resp.status_code < 400:
- return resp.text
- else:
- resp.raise_for_status()
+ return resp.text
+ raise HTTPError("Failed to fetch beatmap")
async def _request(self, url: str) -> Response:
async with AsyncClient() as client: