diff --git a/app/utils.py b/app/utils.py index 0e9856a20..e6218f402 100644 --- a/app/utils.py +++ b/app/utils.py @@ -22,8 +22,9 @@ DATA_PATH = Path.cwd() / ".data" -ACHIEVEMENTS_ASSETS_PATH = DATA_PATH / "assets/medals/client" -DEFAULT_AVATAR_PATH = DATA_PATH / "avatars/default.jpg" +ASSETS_PATH = Path.cwd() / "assets" +ACHIEVEMENTS_ASSETS_PATH = ASSETS_PATH / "medals" +DEFAULT_AVATAR_PATH = ASSETS_PATH / "default_avatar.jpg" def make_safe_name(name: str) -> str: @@ -31,78 +32,6 @@ def make_safe_name(name: str) -> str: return name.lower().replace(" ", "_") -def _download_achievement_images_osu(achievements_path: Path) -> bool: - """Download all used achievement images (one by one, from osu!).""" - achs: list[str] = [] - - for resolution in ("", "@2x"): - for mode in ("osu", "taiko", "fruits", "mania"): - # only osu!std has 9 & 10 star pass/fc medals. - for star_rating in range(1, 1 + (10 if mode == "osu" else 8)): - achs.append(f"{mode}-skill-pass-{star_rating}{resolution}.png") - achs.append(f"{mode}-skill-fc-{star_rating}{resolution}.png") - - for combo in (500, 750, 1000, 2000): - achs.append(f"osu-combo-{combo}{resolution}.png") - - for mod in ( - "suddendeath", - "hidden", - "perfect", - "hardrock", - "doubletime", - "flashlight", - "easy", - "nofail", - "nightcore", - "halftime", - "spunout", - ): - achs.append(f"all-intro-{mod}{resolution}.png") - - log("Downloading achievement images from osu!.", Ansi.LCYAN) - - for ach in achs: - resp = httpx.get(f"https://assets.ppy.sh/medals/client/{ach}") - if resp.status_code != 200: - return False - - log(f"Saving achievement: {ach}", Ansi.LCYAN) - (achievements_path / ach).write_bytes(resp.content) - - return True - - -def download_achievement_images(achievements_path: Path) -> None: - """Download all used achievement images (using the best available source).""" - - # download individual files from the official osu! servers - downloaded = _download_achievement_images_osu(achievements_path) - - if downloaded: - log("Downloaded all achievement images.", Ansi.LGREEN) - else: - # TODO: make the code safe in this state - log("Failed to download achievement images.", Ansi.LRED) - achievements_path.rmdir() - - # allow passthrough (don't hard crash). - # the server will *mostly* work in this state. - pass - - -def download_default_avatar(default_avatar_path: Path) -> None: - """Download an avatar to use as the server's default.""" - resp = httpx.get("https://i.cmyui.xyz/U24XBZw-4wjVME-JaEz3.png") - - if resp.status_code != 200: - log("Failed to fetch default avatar.", Ansi.LRED) - return - - log("Downloaded default avatar.", Ansi.LGREEN) - default_avatar_path.write_bytes(resp.content) - - def has_internet_connectivity(timeout: float = 1.0) -> bool: """Check for an active internet connection.""" COMMON_DNS_SERVERS = ( @@ -187,15 +116,6 @@ def ensure_persistent_volumes_are_available() -> None: subdir = DATA_PATH / sub_dir subdir.mkdir(exist_ok=True) - # download achievement images from osu! - if not ACHIEVEMENTS_ASSETS_PATH.exists(): - ACHIEVEMENTS_ASSETS_PATH.mkdir(parents=True) - download_achievement_images(ACHIEVEMENTS_ASSETS_PATH) - - # download a default avatar image for new users - if not DEFAULT_AVATAR_PATH.exists(): - download_default_avatar(DEFAULT_AVATAR_PATH) - def is_running_as_admin() -> bool: try: diff --git a/assets/default_avatar.jpg b/assets/default_avatar.jpg new file mode 100644 index 000000000..b4cbac264 Binary files /dev/null and b/assets/default_avatar.jpg differ diff --git a/assets/medals/all-intro-doubletime.png b/assets/medals/all-intro-doubletime.png new file mode 100644 index 000000000..54ec9db11 Binary files /dev/null and b/assets/medals/all-intro-doubletime.png differ diff --git a/assets/medals/all-intro-doubletime@2x.png b/assets/medals/all-intro-doubletime@2x.png new file mode 100644 index 000000000..bb81ddcf9 Binary files /dev/null and b/assets/medals/all-intro-doubletime@2x.png differ diff --git a/assets/medals/all-intro-easy.png b/assets/medals/all-intro-easy.png new file mode 100644 index 000000000..d520ea344 Binary files /dev/null and b/assets/medals/all-intro-easy.png differ diff --git a/assets/medals/all-intro-easy@2x.png b/assets/medals/all-intro-easy@2x.png new file mode 100644 index 000000000..d1cd610bb Binary files /dev/null and b/assets/medals/all-intro-easy@2x.png differ diff --git a/assets/medals/all-intro-flashlight.png b/assets/medals/all-intro-flashlight.png new file mode 100644 index 000000000..9f4fd95d0 Binary files /dev/null and b/assets/medals/all-intro-flashlight.png differ diff --git a/assets/medals/all-intro-flashlight@2x.png b/assets/medals/all-intro-flashlight@2x.png new file mode 100644 index 000000000..81123d3b5 Binary files /dev/null and b/assets/medals/all-intro-flashlight@2x.png differ diff --git a/assets/medals/all-intro-halftime.png b/assets/medals/all-intro-halftime.png new file mode 100644 index 000000000..178e19cca Binary files /dev/null and b/assets/medals/all-intro-halftime.png differ diff --git a/assets/medals/all-intro-halftime@2x.png b/assets/medals/all-intro-halftime@2x.png new file mode 100644 index 000000000..98c244eaa Binary files /dev/null and b/assets/medals/all-intro-halftime@2x.png differ diff --git a/assets/medals/all-intro-hardrock.png b/assets/medals/all-intro-hardrock.png new file mode 100644 index 000000000..8632b1a67 Binary files /dev/null and b/assets/medals/all-intro-hardrock.png differ diff --git a/assets/medals/all-intro-hardrock@2x.png b/assets/medals/all-intro-hardrock@2x.png new file mode 100644 index 000000000..db2574d4c Binary files /dev/null and b/assets/medals/all-intro-hardrock@2x.png differ diff --git a/assets/medals/all-intro-hidden.png b/assets/medals/all-intro-hidden.png new file mode 100644 index 000000000..a5beec183 Binary files /dev/null and b/assets/medals/all-intro-hidden.png differ diff --git a/assets/medals/all-intro-hidden@2x.png b/assets/medals/all-intro-hidden@2x.png new file mode 100644 index 000000000..9e404757d Binary files /dev/null and b/assets/medals/all-intro-hidden@2x.png differ diff --git a/assets/medals/all-intro-nightcore.png b/assets/medals/all-intro-nightcore.png new file mode 100644 index 000000000..7a49c6763 Binary files /dev/null and b/assets/medals/all-intro-nightcore.png differ diff --git a/assets/medals/all-intro-nightcore@2x.png b/assets/medals/all-intro-nightcore@2x.png new file mode 100644 index 000000000..4097eb801 Binary files /dev/null and b/assets/medals/all-intro-nightcore@2x.png differ diff --git a/assets/medals/all-intro-nofail.png b/assets/medals/all-intro-nofail.png new file mode 100644 index 000000000..c7ee2dea7 Binary files /dev/null and b/assets/medals/all-intro-nofail.png differ diff --git a/assets/medals/all-intro-nofail@2x.png b/assets/medals/all-intro-nofail@2x.png new file mode 100644 index 000000000..b7e80f0f5 Binary files /dev/null and b/assets/medals/all-intro-nofail@2x.png differ diff --git a/assets/medals/all-intro-perfect.png b/assets/medals/all-intro-perfect.png new file mode 100644 index 000000000..9b270a1e3 Binary files /dev/null and b/assets/medals/all-intro-perfect.png differ diff --git a/assets/medals/all-intro-perfect@2x.png b/assets/medals/all-intro-perfect@2x.png new file mode 100644 index 000000000..c4a414299 Binary files /dev/null and b/assets/medals/all-intro-perfect@2x.png differ diff --git a/assets/medals/all-intro-spunout.png b/assets/medals/all-intro-spunout.png new file mode 100644 index 000000000..8bc17f858 Binary files /dev/null and b/assets/medals/all-intro-spunout.png differ diff --git a/assets/medals/all-intro-spunout@2x.png b/assets/medals/all-intro-spunout@2x.png new file mode 100644 index 000000000..052287253 Binary files /dev/null and b/assets/medals/all-intro-spunout@2x.png differ diff --git a/assets/medals/all-intro-suddendeath.png b/assets/medals/all-intro-suddendeath.png new file mode 100644 index 000000000..84320a3ee Binary files /dev/null and b/assets/medals/all-intro-suddendeath.png differ diff --git a/assets/medals/all-intro-suddendeath@2x.png b/assets/medals/all-intro-suddendeath@2x.png new file mode 100644 index 000000000..9753f0342 Binary files /dev/null and b/assets/medals/all-intro-suddendeath@2x.png differ diff --git a/assets/medals/fruits-skill-fc-1.png b/assets/medals/fruits-skill-fc-1.png new file mode 100644 index 000000000..84733ef59 Binary files /dev/null and b/assets/medals/fruits-skill-fc-1.png differ diff --git a/assets/medals/fruits-skill-fc-1@2x.png b/assets/medals/fruits-skill-fc-1@2x.png new file mode 100644 index 000000000..e12a77805 Binary files /dev/null and b/assets/medals/fruits-skill-fc-1@2x.png differ diff --git a/assets/medals/fruits-skill-fc-2.png b/assets/medals/fruits-skill-fc-2.png new file mode 100644 index 000000000..a2cc8a3e5 Binary files /dev/null and b/assets/medals/fruits-skill-fc-2.png differ diff --git a/assets/medals/fruits-skill-fc-2@2x.png b/assets/medals/fruits-skill-fc-2@2x.png new file mode 100644 index 000000000..1f6f11987 Binary files /dev/null and b/assets/medals/fruits-skill-fc-2@2x.png differ diff --git a/assets/medals/fruits-skill-fc-3.png b/assets/medals/fruits-skill-fc-3.png new file mode 100644 index 000000000..617fbf5df Binary files /dev/null and b/assets/medals/fruits-skill-fc-3.png differ diff --git a/assets/medals/fruits-skill-fc-3@2x.png b/assets/medals/fruits-skill-fc-3@2x.png new file mode 100644 index 000000000..491b0a16c Binary files /dev/null and b/assets/medals/fruits-skill-fc-3@2x.png differ diff --git a/assets/medals/fruits-skill-fc-4.png b/assets/medals/fruits-skill-fc-4.png new file mode 100644 index 000000000..63a2180a5 Binary files /dev/null and b/assets/medals/fruits-skill-fc-4.png differ diff --git a/assets/medals/fruits-skill-fc-4@2x.png b/assets/medals/fruits-skill-fc-4@2x.png new file mode 100644 index 000000000..570486129 Binary files /dev/null and b/assets/medals/fruits-skill-fc-4@2x.png differ diff --git a/assets/medals/fruits-skill-fc-5.png b/assets/medals/fruits-skill-fc-5.png new file mode 100644 index 000000000..6e3ec4768 Binary files /dev/null and b/assets/medals/fruits-skill-fc-5.png differ diff --git a/assets/medals/fruits-skill-fc-5@2x.png b/assets/medals/fruits-skill-fc-5@2x.png new file mode 100644 index 000000000..ce42f4dfa Binary files /dev/null and b/assets/medals/fruits-skill-fc-5@2x.png differ diff --git a/assets/medals/fruits-skill-fc-6.png b/assets/medals/fruits-skill-fc-6.png new file mode 100644 index 000000000..b20296418 Binary files /dev/null and b/assets/medals/fruits-skill-fc-6.png differ diff --git a/assets/medals/fruits-skill-fc-6@2x.png b/assets/medals/fruits-skill-fc-6@2x.png new file mode 100644 index 000000000..2bd47fac1 Binary files /dev/null and b/assets/medals/fruits-skill-fc-6@2x.png differ diff --git a/assets/medals/fruits-skill-fc-7.png b/assets/medals/fruits-skill-fc-7.png new file mode 100644 index 000000000..4cb4403d7 Binary files /dev/null and b/assets/medals/fruits-skill-fc-7.png differ diff --git a/assets/medals/fruits-skill-fc-7@2x.png b/assets/medals/fruits-skill-fc-7@2x.png new file mode 100644 index 000000000..ee9754aa7 Binary files /dev/null and b/assets/medals/fruits-skill-fc-7@2x.png differ diff --git a/assets/medals/fruits-skill-fc-8.png b/assets/medals/fruits-skill-fc-8.png new file mode 100644 index 000000000..8564b748e Binary files /dev/null and b/assets/medals/fruits-skill-fc-8.png differ diff --git a/assets/medals/fruits-skill-fc-8@2x.png b/assets/medals/fruits-skill-fc-8@2x.png new file mode 100644 index 000000000..743dc86d4 Binary files /dev/null and b/assets/medals/fruits-skill-fc-8@2x.png differ diff --git a/assets/medals/fruits-skill-pass-1.png b/assets/medals/fruits-skill-pass-1.png new file mode 100644 index 000000000..e555e147e Binary files /dev/null and b/assets/medals/fruits-skill-pass-1.png differ diff --git a/assets/medals/fruits-skill-pass-1@2x.png b/assets/medals/fruits-skill-pass-1@2x.png new file mode 100644 index 000000000..90caef582 Binary files /dev/null and b/assets/medals/fruits-skill-pass-1@2x.png differ diff --git a/assets/medals/fruits-skill-pass-2.png b/assets/medals/fruits-skill-pass-2.png new file mode 100644 index 000000000..c299a104f Binary files /dev/null and b/assets/medals/fruits-skill-pass-2.png differ diff --git a/assets/medals/fruits-skill-pass-2@2x.png b/assets/medals/fruits-skill-pass-2@2x.png new file mode 100644 index 000000000..46ea5e365 Binary files /dev/null and b/assets/medals/fruits-skill-pass-2@2x.png differ diff --git a/assets/medals/fruits-skill-pass-3.png b/assets/medals/fruits-skill-pass-3.png new file mode 100644 index 000000000..3751c6900 Binary files /dev/null and b/assets/medals/fruits-skill-pass-3.png differ diff --git a/assets/medals/fruits-skill-pass-3@2x.png b/assets/medals/fruits-skill-pass-3@2x.png new file mode 100644 index 000000000..b8d455db1 Binary files /dev/null and b/assets/medals/fruits-skill-pass-3@2x.png differ diff --git a/assets/medals/fruits-skill-pass-4.png b/assets/medals/fruits-skill-pass-4.png new file mode 100644 index 000000000..0c1471c6d Binary files /dev/null and b/assets/medals/fruits-skill-pass-4.png differ diff --git a/assets/medals/fruits-skill-pass-4@2x.png b/assets/medals/fruits-skill-pass-4@2x.png new file mode 100644 index 000000000..4525e2fab Binary files /dev/null and b/assets/medals/fruits-skill-pass-4@2x.png differ diff --git a/assets/medals/fruits-skill-pass-5.png b/assets/medals/fruits-skill-pass-5.png new file mode 100644 index 000000000..c0051d33b Binary files /dev/null and b/assets/medals/fruits-skill-pass-5.png differ diff --git a/assets/medals/fruits-skill-pass-5@2x.png b/assets/medals/fruits-skill-pass-5@2x.png new file mode 100644 index 000000000..e1547bfe8 Binary files /dev/null and b/assets/medals/fruits-skill-pass-5@2x.png differ diff --git a/assets/medals/fruits-skill-pass-6.png b/assets/medals/fruits-skill-pass-6.png new file mode 100644 index 000000000..c8a35533c Binary files /dev/null and b/assets/medals/fruits-skill-pass-6.png differ diff --git a/assets/medals/fruits-skill-pass-6@2x.png b/assets/medals/fruits-skill-pass-6@2x.png new file mode 100644 index 000000000..13835ae23 Binary files /dev/null and b/assets/medals/fruits-skill-pass-6@2x.png differ diff --git a/assets/medals/fruits-skill-pass-7.png b/assets/medals/fruits-skill-pass-7.png new file mode 100644 index 000000000..aedb505cd Binary files /dev/null and b/assets/medals/fruits-skill-pass-7.png differ diff --git a/assets/medals/fruits-skill-pass-7@2x.png b/assets/medals/fruits-skill-pass-7@2x.png new file mode 100644 index 000000000..02e361552 Binary files /dev/null and b/assets/medals/fruits-skill-pass-7@2x.png differ diff --git a/assets/medals/fruits-skill-pass-8.png b/assets/medals/fruits-skill-pass-8.png new file mode 100644 index 000000000..004646329 Binary files /dev/null and b/assets/medals/fruits-skill-pass-8.png differ diff --git a/assets/medals/fruits-skill-pass-8@2x.png b/assets/medals/fruits-skill-pass-8@2x.png new file mode 100644 index 000000000..73678fe27 Binary files /dev/null and b/assets/medals/fruits-skill-pass-8@2x.png differ diff --git a/assets/medals/mania-skill-fc-1.png b/assets/medals/mania-skill-fc-1.png new file mode 100644 index 000000000..e0732fa70 Binary files /dev/null and b/assets/medals/mania-skill-fc-1.png differ diff --git a/assets/medals/mania-skill-fc-1@2x.png b/assets/medals/mania-skill-fc-1@2x.png new file mode 100644 index 000000000..92d082316 Binary files /dev/null and b/assets/medals/mania-skill-fc-1@2x.png differ diff --git a/assets/medals/mania-skill-fc-2.png b/assets/medals/mania-skill-fc-2.png new file mode 100644 index 000000000..239a455ea Binary files /dev/null and b/assets/medals/mania-skill-fc-2.png differ diff --git a/assets/medals/mania-skill-fc-2@2x.png b/assets/medals/mania-skill-fc-2@2x.png new file mode 100644 index 000000000..b81232316 Binary files /dev/null and b/assets/medals/mania-skill-fc-2@2x.png differ diff --git a/assets/medals/mania-skill-fc-3.png b/assets/medals/mania-skill-fc-3.png new file mode 100644 index 000000000..3aa217565 Binary files /dev/null and b/assets/medals/mania-skill-fc-3.png differ diff --git a/assets/medals/mania-skill-fc-3@2x.png b/assets/medals/mania-skill-fc-3@2x.png new file mode 100644 index 000000000..c88c503cc Binary files /dev/null and b/assets/medals/mania-skill-fc-3@2x.png differ diff --git a/assets/medals/mania-skill-fc-4.png b/assets/medals/mania-skill-fc-4.png new file mode 100644 index 000000000..d7931fe79 Binary files /dev/null and b/assets/medals/mania-skill-fc-4.png differ diff --git a/assets/medals/mania-skill-fc-4@2x.png b/assets/medals/mania-skill-fc-4@2x.png new file mode 100644 index 000000000..68d551292 Binary files /dev/null and b/assets/medals/mania-skill-fc-4@2x.png differ diff --git a/assets/medals/mania-skill-fc-5.png b/assets/medals/mania-skill-fc-5.png new file mode 100644 index 000000000..6da824b11 Binary files /dev/null and b/assets/medals/mania-skill-fc-5.png differ diff --git a/assets/medals/mania-skill-fc-5@2x.png b/assets/medals/mania-skill-fc-5@2x.png new file mode 100644 index 000000000..aa76aabed Binary files /dev/null and b/assets/medals/mania-skill-fc-5@2x.png differ diff --git a/assets/medals/mania-skill-fc-6.png b/assets/medals/mania-skill-fc-6.png new file mode 100644 index 000000000..79262eae5 Binary files /dev/null and b/assets/medals/mania-skill-fc-6.png differ diff --git a/assets/medals/mania-skill-fc-6@2x.png b/assets/medals/mania-skill-fc-6@2x.png new file mode 100644 index 000000000..16e4b6755 Binary files /dev/null and b/assets/medals/mania-skill-fc-6@2x.png differ diff --git a/assets/medals/mania-skill-fc-7.png b/assets/medals/mania-skill-fc-7.png new file mode 100644 index 000000000..2e9ceb654 Binary files /dev/null and b/assets/medals/mania-skill-fc-7.png differ diff --git a/assets/medals/mania-skill-fc-7@2x.png b/assets/medals/mania-skill-fc-7@2x.png new file mode 100644 index 000000000..e854732bc Binary files /dev/null and b/assets/medals/mania-skill-fc-7@2x.png differ diff --git a/assets/medals/mania-skill-fc-8.png b/assets/medals/mania-skill-fc-8.png new file mode 100644 index 000000000..1f920ce51 Binary files /dev/null and b/assets/medals/mania-skill-fc-8.png differ diff --git a/assets/medals/mania-skill-fc-8@2x.png b/assets/medals/mania-skill-fc-8@2x.png new file mode 100644 index 000000000..4317a608f Binary files /dev/null and b/assets/medals/mania-skill-fc-8@2x.png differ diff --git a/assets/medals/mania-skill-pass-1.png b/assets/medals/mania-skill-pass-1.png new file mode 100644 index 000000000..6ae1ac58f Binary files /dev/null and b/assets/medals/mania-skill-pass-1.png differ diff --git a/assets/medals/mania-skill-pass-1@2x.png b/assets/medals/mania-skill-pass-1@2x.png new file mode 100644 index 000000000..69c42b9cf Binary files /dev/null and b/assets/medals/mania-skill-pass-1@2x.png differ diff --git a/assets/medals/mania-skill-pass-2.png b/assets/medals/mania-skill-pass-2.png new file mode 100644 index 000000000..f5c51d2ef Binary files /dev/null and b/assets/medals/mania-skill-pass-2.png differ diff --git a/assets/medals/mania-skill-pass-2@2x.png b/assets/medals/mania-skill-pass-2@2x.png new file mode 100644 index 000000000..168b897fb Binary files /dev/null and b/assets/medals/mania-skill-pass-2@2x.png differ diff --git a/assets/medals/mania-skill-pass-3.png b/assets/medals/mania-skill-pass-3.png new file mode 100644 index 000000000..8f09413a1 Binary files /dev/null and b/assets/medals/mania-skill-pass-3.png differ diff --git a/assets/medals/mania-skill-pass-3@2x.png b/assets/medals/mania-skill-pass-3@2x.png new file mode 100644 index 000000000..9864f5b80 Binary files /dev/null and b/assets/medals/mania-skill-pass-3@2x.png differ diff --git a/assets/medals/mania-skill-pass-4.png b/assets/medals/mania-skill-pass-4.png new file mode 100644 index 000000000..d9b80ba98 Binary files /dev/null and b/assets/medals/mania-skill-pass-4.png differ diff --git a/assets/medals/mania-skill-pass-4@2x.png b/assets/medals/mania-skill-pass-4@2x.png new file mode 100644 index 000000000..2ec96b685 Binary files /dev/null and b/assets/medals/mania-skill-pass-4@2x.png differ diff --git a/assets/medals/mania-skill-pass-5.png b/assets/medals/mania-skill-pass-5.png new file mode 100644 index 000000000..16050f1be Binary files /dev/null and b/assets/medals/mania-skill-pass-5.png differ diff --git a/assets/medals/mania-skill-pass-5@2x.png b/assets/medals/mania-skill-pass-5@2x.png new file mode 100644 index 000000000..f3eac519d Binary files /dev/null and b/assets/medals/mania-skill-pass-5@2x.png differ diff --git a/assets/medals/mania-skill-pass-6.png b/assets/medals/mania-skill-pass-6.png new file mode 100644 index 000000000..1e667012a Binary files /dev/null and b/assets/medals/mania-skill-pass-6.png differ diff --git a/assets/medals/mania-skill-pass-6@2x.png b/assets/medals/mania-skill-pass-6@2x.png new file mode 100644 index 000000000..accc2f446 Binary files /dev/null and b/assets/medals/mania-skill-pass-6@2x.png differ diff --git a/assets/medals/mania-skill-pass-7.png b/assets/medals/mania-skill-pass-7.png new file mode 100644 index 000000000..e0bd3ac7c Binary files /dev/null and b/assets/medals/mania-skill-pass-7.png differ diff --git a/assets/medals/mania-skill-pass-7@2x.png b/assets/medals/mania-skill-pass-7@2x.png new file mode 100644 index 000000000..14ca67311 Binary files /dev/null and b/assets/medals/mania-skill-pass-7@2x.png differ diff --git a/assets/medals/mania-skill-pass-8.png b/assets/medals/mania-skill-pass-8.png new file mode 100644 index 000000000..5414d9ba6 Binary files /dev/null and b/assets/medals/mania-skill-pass-8.png differ diff --git a/assets/medals/mania-skill-pass-8@2x.png b/assets/medals/mania-skill-pass-8@2x.png new file mode 100644 index 000000000..9cb98b6c9 Binary files /dev/null and b/assets/medals/mania-skill-pass-8@2x.png differ diff --git a/assets/medals/osu-combo-1000.png b/assets/medals/osu-combo-1000.png new file mode 100644 index 000000000..e9d1e7292 Binary files /dev/null and b/assets/medals/osu-combo-1000.png differ diff --git a/assets/medals/osu-combo-1000@2x.png b/assets/medals/osu-combo-1000@2x.png new file mode 100644 index 000000000..05cd896a7 Binary files /dev/null and b/assets/medals/osu-combo-1000@2x.png differ diff --git a/assets/medals/osu-combo-2000.png b/assets/medals/osu-combo-2000.png new file mode 100644 index 000000000..ecd34543d Binary files /dev/null and b/assets/medals/osu-combo-2000.png differ diff --git a/assets/medals/osu-combo-2000@2x.png b/assets/medals/osu-combo-2000@2x.png new file mode 100644 index 000000000..8c6d67584 Binary files /dev/null and b/assets/medals/osu-combo-2000@2x.png differ diff --git a/assets/medals/osu-combo-500.png b/assets/medals/osu-combo-500.png new file mode 100644 index 000000000..1e3019015 Binary files /dev/null and b/assets/medals/osu-combo-500.png differ diff --git a/assets/medals/osu-combo-500@2x.png b/assets/medals/osu-combo-500@2x.png new file mode 100644 index 000000000..9ec2ebe90 Binary files /dev/null and b/assets/medals/osu-combo-500@2x.png differ diff --git a/assets/medals/osu-combo-750.png b/assets/medals/osu-combo-750.png new file mode 100644 index 000000000..75417994d Binary files /dev/null and b/assets/medals/osu-combo-750.png differ diff --git a/assets/medals/osu-combo-750@2x.png b/assets/medals/osu-combo-750@2x.png new file mode 100644 index 000000000..01c2d996a Binary files /dev/null and b/assets/medals/osu-combo-750@2x.png differ diff --git a/assets/medals/osu-skill-fc-1.png b/assets/medals/osu-skill-fc-1.png new file mode 100644 index 000000000..8555fff60 Binary files /dev/null and b/assets/medals/osu-skill-fc-1.png differ diff --git a/assets/medals/osu-skill-fc-10.png b/assets/medals/osu-skill-fc-10.png new file mode 100644 index 000000000..c855f75c6 Binary files /dev/null and b/assets/medals/osu-skill-fc-10.png differ diff --git a/assets/medals/osu-skill-fc-10@2x.png b/assets/medals/osu-skill-fc-10@2x.png new file mode 100644 index 000000000..a743d0406 Binary files /dev/null and b/assets/medals/osu-skill-fc-10@2x.png differ diff --git a/assets/medals/osu-skill-fc-1@2x.png b/assets/medals/osu-skill-fc-1@2x.png new file mode 100644 index 000000000..686abd748 Binary files /dev/null and b/assets/medals/osu-skill-fc-1@2x.png differ diff --git a/assets/medals/osu-skill-fc-2.png b/assets/medals/osu-skill-fc-2.png new file mode 100644 index 000000000..630a1983b Binary files /dev/null and b/assets/medals/osu-skill-fc-2.png differ diff --git a/assets/medals/osu-skill-fc-2@2x.png b/assets/medals/osu-skill-fc-2@2x.png new file mode 100644 index 000000000..542e3f4aa Binary files /dev/null and b/assets/medals/osu-skill-fc-2@2x.png differ diff --git a/assets/medals/osu-skill-fc-3.png b/assets/medals/osu-skill-fc-3.png new file mode 100644 index 000000000..c4a29083b Binary files /dev/null and b/assets/medals/osu-skill-fc-3.png differ diff --git a/assets/medals/osu-skill-fc-3@2x.png b/assets/medals/osu-skill-fc-3@2x.png new file mode 100644 index 000000000..68d3c99c8 Binary files /dev/null and b/assets/medals/osu-skill-fc-3@2x.png differ diff --git a/assets/medals/osu-skill-fc-4.png b/assets/medals/osu-skill-fc-4.png new file mode 100644 index 000000000..aeae7708a Binary files /dev/null and b/assets/medals/osu-skill-fc-4.png differ diff --git a/assets/medals/osu-skill-fc-4@2x.png b/assets/medals/osu-skill-fc-4@2x.png new file mode 100644 index 000000000..4e337db75 Binary files /dev/null and b/assets/medals/osu-skill-fc-4@2x.png differ diff --git a/assets/medals/osu-skill-fc-5.png b/assets/medals/osu-skill-fc-5.png new file mode 100644 index 000000000..880a62909 Binary files /dev/null and b/assets/medals/osu-skill-fc-5.png differ diff --git a/assets/medals/osu-skill-fc-5@2x.png b/assets/medals/osu-skill-fc-5@2x.png new file mode 100644 index 000000000..e49174661 Binary files /dev/null and b/assets/medals/osu-skill-fc-5@2x.png differ diff --git a/assets/medals/osu-skill-fc-6.png b/assets/medals/osu-skill-fc-6.png new file mode 100644 index 000000000..240c75755 Binary files /dev/null and b/assets/medals/osu-skill-fc-6.png differ diff --git a/assets/medals/osu-skill-fc-6@2x.png b/assets/medals/osu-skill-fc-6@2x.png new file mode 100644 index 000000000..962918c89 Binary files /dev/null and b/assets/medals/osu-skill-fc-6@2x.png differ diff --git a/assets/medals/osu-skill-fc-7.png b/assets/medals/osu-skill-fc-7.png new file mode 100644 index 000000000..b79c61e34 Binary files /dev/null and b/assets/medals/osu-skill-fc-7.png differ diff --git a/assets/medals/osu-skill-fc-7@2x.png b/assets/medals/osu-skill-fc-7@2x.png new file mode 100644 index 000000000..ad7b25764 Binary files /dev/null and b/assets/medals/osu-skill-fc-7@2x.png differ diff --git a/assets/medals/osu-skill-fc-8.png b/assets/medals/osu-skill-fc-8.png new file mode 100644 index 000000000..089969d33 Binary files /dev/null and b/assets/medals/osu-skill-fc-8.png differ diff --git a/assets/medals/osu-skill-fc-8@2x.png b/assets/medals/osu-skill-fc-8@2x.png new file mode 100644 index 000000000..a86c990f2 Binary files /dev/null and b/assets/medals/osu-skill-fc-8@2x.png differ diff --git a/assets/medals/osu-skill-fc-9.png b/assets/medals/osu-skill-fc-9.png new file mode 100644 index 000000000..05f2aaef3 Binary files /dev/null and b/assets/medals/osu-skill-fc-9.png differ diff --git a/assets/medals/osu-skill-fc-9@2x.png b/assets/medals/osu-skill-fc-9@2x.png new file mode 100644 index 000000000..7e456e5c5 Binary files /dev/null and b/assets/medals/osu-skill-fc-9@2x.png differ diff --git a/assets/medals/osu-skill-pass-1.png b/assets/medals/osu-skill-pass-1.png new file mode 100644 index 000000000..f894640de Binary files /dev/null and b/assets/medals/osu-skill-pass-1.png differ diff --git a/assets/medals/osu-skill-pass-10.png b/assets/medals/osu-skill-pass-10.png new file mode 100644 index 000000000..021c9fe49 Binary files /dev/null and b/assets/medals/osu-skill-pass-10.png differ diff --git a/assets/medals/osu-skill-pass-10@2x.png b/assets/medals/osu-skill-pass-10@2x.png new file mode 100644 index 000000000..6f0a44cc0 Binary files /dev/null and b/assets/medals/osu-skill-pass-10@2x.png differ diff --git a/assets/medals/osu-skill-pass-1@2x.png b/assets/medals/osu-skill-pass-1@2x.png new file mode 100644 index 000000000..b2961bdac Binary files /dev/null and b/assets/medals/osu-skill-pass-1@2x.png differ diff --git a/assets/medals/osu-skill-pass-2.png b/assets/medals/osu-skill-pass-2.png new file mode 100644 index 000000000..89a48c79d Binary files /dev/null and b/assets/medals/osu-skill-pass-2.png differ diff --git a/assets/medals/osu-skill-pass-2@2x.png b/assets/medals/osu-skill-pass-2@2x.png new file mode 100644 index 000000000..b6ebb4491 Binary files /dev/null and b/assets/medals/osu-skill-pass-2@2x.png differ diff --git a/assets/medals/osu-skill-pass-3.png b/assets/medals/osu-skill-pass-3.png new file mode 100644 index 000000000..83fa6840f Binary files /dev/null and b/assets/medals/osu-skill-pass-3.png differ diff --git a/assets/medals/osu-skill-pass-3@2x.png b/assets/medals/osu-skill-pass-3@2x.png new file mode 100644 index 000000000..d258ed342 Binary files /dev/null and b/assets/medals/osu-skill-pass-3@2x.png differ diff --git a/assets/medals/osu-skill-pass-4.png b/assets/medals/osu-skill-pass-4.png new file mode 100644 index 000000000..91f16ffac Binary files /dev/null and b/assets/medals/osu-skill-pass-4.png differ diff --git a/assets/medals/osu-skill-pass-4@2x.png b/assets/medals/osu-skill-pass-4@2x.png new file mode 100644 index 000000000..15238f1c7 Binary files /dev/null and b/assets/medals/osu-skill-pass-4@2x.png differ diff --git a/assets/medals/osu-skill-pass-5.png b/assets/medals/osu-skill-pass-5.png new file mode 100644 index 000000000..c9f2b38f8 Binary files /dev/null and b/assets/medals/osu-skill-pass-5.png differ diff --git a/assets/medals/osu-skill-pass-5@2x.png b/assets/medals/osu-skill-pass-5@2x.png new file mode 100644 index 000000000..18fae2327 Binary files /dev/null and b/assets/medals/osu-skill-pass-5@2x.png differ diff --git a/assets/medals/osu-skill-pass-6.png b/assets/medals/osu-skill-pass-6.png new file mode 100644 index 000000000..244827db5 Binary files /dev/null and b/assets/medals/osu-skill-pass-6.png differ diff --git a/assets/medals/osu-skill-pass-6@2x.png b/assets/medals/osu-skill-pass-6@2x.png new file mode 100644 index 000000000..db743b3a2 Binary files /dev/null and b/assets/medals/osu-skill-pass-6@2x.png differ diff --git a/assets/medals/osu-skill-pass-7.png b/assets/medals/osu-skill-pass-7.png new file mode 100644 index 000000000..d03301009 Binary files /dev/null and b/assets/medals/osu-skill-pass-7.png differ diff --git a/assets/medals/osu-skill-pass-7@2x.png b/assets/medals/osu-skill-pass-7@2x.png new file mode 100644 index 000000000..a53d68cc5 Binary files /dev/null and b/assets/medals/osu-skill-pass-7@2x.png differ diff --git a/assets/medals/osu-skill-pass-8.png b/assets/medals/osu-skill-pass-8.png new file mode 100644 index 000000000..3e94a7615 Binary files /dev/null and b/assets/medals/osu-skill-pass-8.png differ diff --git a/assets/medals/osu-skill-pass-8@2x.png b/assets/medals/osu-skill-pass-8@2x.png new file mode 100644 index 000000000..0bc18278a Binary files /dev/null and b/assets/medals/osu-skill-pass-8@2x.png differ diff --git a/assets/medals/osu-skill-pass-9.png b/assets/medals/osu-skill-pass-9.png new file mode 100644 index 000000000..e692c124a Binary files /dev/null and b/assets/medals/osu-skill-pass-9.png differ diff --git a/assets/medals/osu-skill-pass-9@2x.png b/assets/medals/osu-skill-pass-9@2x.png new file mode 100644 index 000000000..cbeb39011 Binary files /dev/null and b/assets/medals/osu-skill-pass-9@2x.png differ diff --git a/assets/medals/taiko-skill-fc-1.png b/assets/medals/taiko-skill-fc-1.png new file mode 100644 index 000000000..d5b0e54fc Binary files /dev/null and b/assets/medals/taiko-skill-fc-1.png differ diff --git a/assets/medals/taiko-skill-fc-1@2x.png b/assets/medals/taiko-skill-fc-1@2x.png new file mode 100644 index 000000000..3f1712435 Binary files /dev/null and b/assets/medals/taiko-skill-fc-1@2x.png differ diff --git a/assets/medals/taiko-skill-fc-2.png b/assets/medals/taiko-skill-fc-2.png new file mode 100644 index 000000000..17ff8eb55 Binary files /dev/null and b/assets/medals/taiko-skill-fc-2.png differ diff --git a/assets/medals/taiko-skill-fc-2@2x.png b/assets/medals/taiko-skill-fc-2@2x.png new file mode 100644 index 000000000..c44acb1a9 Binary files /dev/null and b/assets/medals/taiko-skill-fc-2@2x.png differ diff --git a/assets/medals/taiko-skill-fc-3.png b/assets/medals/taiko-skill-fc-3.png new file mode 100644 index 000000000..761ddd23b Binary files /dev/null and b/assets/medals/taiko-skill-fc-3.png differ diff --git a/assets/medals/taiko-skill-fc-3@2x.png b/assets/medals/taiko-skill-fc-3@2x.png new file mode 100644 index 000000000..73767db41 Binary files /dev/null and b/assets/medals/taiko-skill-fc-3@2x.png differ diff --git a/assets/medals/taiko-skill-fc-4.png b/assets/medals/taiko-skill-fc-4.png new file mode 100644 index 000000000..ec5b7017c Binary files /dev/null and b/assets/medals/taiko-skill-fc-4.png differ diff --git a/assets/medals/taiko-skill-fc-4@2x.png b/assets/medals/taiko-skill-fc-4@2x.png new file mode 100644 index 000000000..f08dbb8f6 Binary files /dev/null and b/assets/medals/taiko-skill-fc-4@2x.png differ diff --git a/assets/medals/taiko-skill-fc-5.png b/assets/medals/taiko-skill-fc-5.png new file mode 100644 index 000000000..b9e7c64c2 Binary files /dev/null and b/assets/medals/taiko-skill-fc-5.png differ diff --git a/assets/medals/taiko-skill-fc-5@2x.png b/assets/medals/taiko-skill-fc-5@2x.png new file mode 100644 index 000000000..c8fc93b6a Binary files /dev/null and b/assets/medals/taiko-skill-fc-5@2x.png differ diff --git a/assets/medals/taiko-skill-fc-6.png b/assets/medals/taiko-skill-fc-6.png new file mode 100644 index 000000000..fc382ed17 Binary files /dev/null and b/assets/medals/taiko-skill-fc-6.png differ diff --git a/assets/medals/taiko-skill-fc-6@2x.png b/assets/medals/taiko-skill-fc-6@2x.png new file mode 100644 index 000000000..7acb342a7 Binary files /dev/null and b/assets/medals/taiko-skill-fc-6@2x.png differ diff --git a/assets/medals/taiko-skill-fc-7.png b/assets/medals/taiko-skill-fc-7.png new file mode 100644 index 000000000..7d7aa6d44 Binary files /dev/null and b/assets/medals/taiko-skill-fc-7.png differ diff --git a/assets/medals/taiko-skill-fc-7@2x.png b/assets/medals/taiko-skill-fc-7@2x.png new file mode 100644 index 000000000..3d4be7921 Binary files /dev/null and b/assets/medals/taiko-skill-fc-7@2x.png differ diff --git a/assets/medals/taiko-skill-fc-8.png b/assets/medals/taiko-skill-fc-8.png new file mode 100644 index 000000000..ae2d22005 Binary files /dev/null and b/assets/medals/taiko-skill-fc-8.png differ diff --git a/assets/medals/taiko-skill-fc-8@2x.png b/assets/medals/taiko-skill-fc-8@2x.png new file mode 100644 index 000000000..7ea655cc8 Binary files /dev/null and b/assets/medals/taiko-skill-fc-8@2x.png differ diff --git a/assets/medals/taiko-skill-pass-1.png b/assets/medals/taiko-skill-pass-1.png new file mode 100644 index 000000000..7a87bafef Binary files /dev/null and b/assets/medals/taiko-skill-pass-1.png differ diff --git a/assets/medals/taiko-skill-pass-1@2x.png b/assets/medals/taiko-skill-pass-1@2x.png new file mode 100644 index 000000000..f8cc5d074 Binary files /dev/null and b/assets/medals/taiko-skill-pass-1@2x.png differ diff --git a/assets/medals/taiko-skill-pass-2.png b/assets/medals/taiko-skill-pass-2.png new file mode 100644 index 000000000..7739a90b1 Binary files /dev/null and b/assets/medals/taiko-skill-pass-2.png differ diff --git a/assets/medals/taiko-skill-pass-2@2x.png b/assets/medals/taiko-skill-pass-2@2x.png new file mode 100644 index 000000000..6bd027835 Binary files /dev/null and b/assets/medals/taiko-skill-pass-2@2x.png differ diff --git a/assets/medals/taiko-skill-pass-3.png b/assets/medals/taiko-skill-pass-3.png new file mode 100644 index 000000000..c1ea775b4 Binary files /dev/null and b/assets/medals/taiko-skill-pass-3.png differ diff --git a/assets/medals/taiko-skill-pass-3@2x.png b/assets/medals/taiko-skill-pass-3@2x.png new file mode 100644 index 000000000..b8b4b4436 Binary files /dev/null and b/assets/medals/taiko-skill-pass-3@2x.png differ diff --git a/assets/medals/taiko-skill-pass-4.png b/assets/medals/taiko-skill-pass-4.png new file mode 100644 index 000000000..ce48e1b3e Binary files /dev/null and b/assets/medals/taiko-skill-pass-4.png differ diff --git a/assets/medals/taiko-skill-pass-4@2x.png b/assets/medals/taiko-skill-pass-4@2x.png new file mode 100644 index 000000000..933aeb188 Binary files /dev/null and b/assets/medals/taiko-skill-pass-4@2x.png differ diff --git a/assets/medals/taiko-skill-pass-5.png b/assets/medals/taiko-skill-pass-5.png new file mode 100644 index 000000000..d9b3f6229 Binary files /dev/null and b/assets/medals/taiko-skill-pass-5.png differ diff --git a/assets/medals/taiko-skill-pass-5@2x.png b/assets/medals/taiko-skill-pass-5@2x.png new file mode 100644 index 000000000..f488273d8 Binary files /dev/null and b/assets/medals/taiko-skill-pass-5@2x.png differ diff --git a/assets/medals/taiko-skill-pass-6.png b/assets/medals/taiko-skill-pass-6.png new file mode 100644 index 000000000..698f4e38e Binary files /dev/null and b/assets/medals/taiko-skill-pass-6.png differ diff --git a/assets/medals/taiko-skill-pass-6@2x.png b/assets/medals/taiko-skill-pass-6@2x.png new file mode 100644 index 000000000..78db1ea4d Binary files /dev/null and b/assets/medals/taiko-skill-pass-6@2x.png differ diff --git a/assets/medals/taiko-skill-pass-7.png b/assets/medals/taiko-skill-pass-7.png new file mode 100644 index 000000000..14e1c0b95 Binary files /dev/null and b/assets/medals/taiko-skill-pass-7.png differ diff --git a/assets/medals/taiko-skill-pass-7@2x.png b/assets/medals/taiko-skill-pass-7@2x.png new file mode 100644 index 000000000..64529e4b1 Binary files /dev/null and b/assets/medals/taiko-skill-pass-7@2x.png differ diff --git a/assets/medals/taiko-skill-pass-8.png b/assets/medals/taiko-skill-pass-8.png new file mode 100644 index 000000000..29817c7eb Binary files /dev/null and b/assets/medals/taiko-skill-pass-8.png differ diff --git a/assets/medals/taiko-skill-pass-8@2x.png b/assets/medals/taiko-skill-pass-8@2x.png new file mode 100644 index 000000000..a5a16d75d Binary files /dev/null and b/assets/medals/taiko-skill-pass-8@2x.png differ diff --git a/tests/conftest.py b/tests/conftest.py index 371ee10c8..32677480d 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -18,26 +18,6 @@ # (We do not need an asynchronous http client for our tests) -@pytest.fixture(autouse=True) -def mock_out_initial_image_downloads(respx_mock: respx.MockRouter) -> None: - # mock out default avatar download - respx_mock.get("https://i.cmyui.xyz/U24XBZw-4wjVME-JaEz3.png").mock( - return_value=httpx.Response( - status_code=status.HTTP_200_OK, - headers={"Content-Type": "image/png"}, - content=b"i am a png file", - ), - ) - # mock out achievement image downloads - respx_mock.get(url__regex=r"https://assets.ppy.sh/medals/client/.+").mock( - return_value=httpx.Response( - status_code=status.HTTP_200_OK, - headers={"Content-Type": "image/png"}, - content=b"i am a png file", - ), - ) - - @pytest.fixture async def app() -> AsyncIterator[ASGIApp]: async with LifespanManager(