From a60707fcac4e46d58199f0aa82420061572fb1b5 Mon Sep 17 00:00:00 2001 From: seth Date: Mon, 9 Jan 2023 23:34:50 -0500 Subject: feat: initial commit --- src/guzzle_api/__init__.py | 0 src/guzzle_api/api.py | 35 +++++++++++++++++++++ src/guzzle_api/lib.py | 5 +++ src/guzzle_api/teawie/__init__.py | 0 src/guzzle_api/teawie/imgs/TEAWIE_FOREVER.png | Bin 0 -> 62056 bytes src/guzzle_api/teawie/imgs/__init__.py | 0 .../teawie/imgs/catppuccin_mocha_teawie_bg.png | Bin 0 -> 386451 bytes .../teawie/imgs/gifypet_basic_teawie.gif | Bin 0 -> 7172 bytes .../teawie/imgs/gifypet_basic_teawie.png | Bin 0 -> 4718 bytes .../imgs/im_going_insane_im_going_to_snap.png | Bin 0 -> 540678 bytes src/guzzle_api/teawie/imgs/image0_png.png | Bin 0 -> 18820 bytes .../imgs/inspirational_poster_wallpaper_teawie.png | Bin 0 -> 414954 bytes .../teawie/imgs/midgame_to_lategame_brainfog.png | Bin 0 -> 824969 bytes .../imgs/omg_hes_in_the_blender_dont_blend_him.png | Bin 0 -> 4214259 bytes src/guzzle_api/teawie/imgs/tea_sit_derp1_png.png | Bin 0 -> 661635 bytes src/guzzle_api/teawie/imgs/teawie.png | Bin 0 -> 635254 bytes src/guzzle_api/teawie/imgs/teawie_chrimas.png | Bin 0 -> 661156 bytes src/guzzle_api/teawie/imgs/teawie_cry.png | Bin 0 -> 22338 bytes src/guzzle_api/teawie/imgs/teawie_derp.png | Bin 0 -> 22060 bytes src/guzzle_api/teawie/imgs/teawie_dizzy.png | Bin 0 -> 23040 bytes .../teawie/imgs/teawie_generator_concept.png | Bin 0 -> 48798 bytes src/guzzle_api/teawie/imgs/teawie_halloween.png | Bin 0 -> 691950 bytes .../teawie/imgs/teawie_hydraulic_png.png | Bin 0 -> 313087 bytes src/guzzle_api/teawie/imgs/teawie_neutral.png | Bin 0 -> 21383 bytes src/guzzle_api/teawie/imgs/teawie_nommers.png | Bin 0 -> 497233 bytes src/guzzle_api/teawie/imgs/teawie_paint.png | Bin 0 -> 40150 bytes src/guzzle_api/teawie/imgs/teawie_party.png | Bin 0 -> 646485 bytes src/guzzle_api/teawie/imgs/teawie_pet.gif | Bin 0 -> 31948 bytes src/guzzle_api/teawie/imgs/teawie_pet_fast.gif | Bin 0 -> 31948 bytes src/guzzle_api/teawie/imgs/teawie_smile.png | Bin 0 -> 21454 bytes src/guzzle_api/teawie/imgs/teawie_smug.png | Bin 0 -> 20898 bytes src/guzzle_api/teawie/imgs/teawie_starstruck.png | Bin 0 -> 22114 bytes src/guzzle_api/teawie/imgs/teawiepog_new.png | Bin 0 -> 318300 bytes ...his_is_how_you_look_saying_that_shit_teawie.png | Bin 0 -> 614155 bytes src/guzzle_api/teawie/imgs/weird_eyes.png | Bin 0 -> 299567 bytes src/guzzle_api/teawie/lib.py | 25 +++++++++++++++ 36 files changed, 65 insertions(+) create mode 100644 src/guzzle_api/__init__.py create mode 100644 src/guzzle_api/api.py create mode 100644 src/guzzle_api/lib.py create mode 100644 src/guzzle_api/teawie/__init__.py create mode 100644 src/guzzle_api/teawie/imgs/TEAWIE_FOREVER.png create mode 100644 src/guzzle_api/teawie/imgs/__init__.py create mode 100644 src/guzzle_api/teawie/imgs/catppuccin_mocha_teawie_bg.png create mode 100644 src/guzzle_api/teawie/imgs/gifypet_basic_teawie.gif create mode 100644 src/guzzle_api/teawie/imgs/gifypet_basic_teawie.png create mode 100644 src/guzzle_api/teawie/imgs/im_going_insane_im_going_to_snap.png create mode 100644 src/guzzle_api/teawie/imgs/image0_png.png create mode 100644 src/guzzle_api/teawie/imgs/inspirational_poster_wallpaper_teawie.png create mode 100644 src/guzzle_api/teawie/imgs/midgame_to_lategame_brainfog.png create mode 100644 src/guzzle_api/teawie/imgs/omg_hes_in_the_blender_dont_blend_him.png create mode 100644 src/guzzle_api/teawie/imgs/tea_sit_derp1_png.png create mode 100644 src/guzzle_api/teawie/imgs/teawie.png create mode 100644 src/guzzle_api/teawie/imgs/teawie_chrimas.png create mode 100644 src/guzzle_api/teawie/imgs/teawie_cry.png create mode 100644 src/guzzle_api/teawie/imgs/teawie_derp.png create mode 100644 src/guzzle_api/teawie/imgs/teawie_dizzy.png create mode 100644 src/guzzle_api/teawie/imgs/teawie_generator_concept.png create mode 100644 src/guzzle_api/teawie/imgs/teawie_halloween.png create mode 100644 src/guzzle_api/teawie/imgs/teawie_hydraulic_png.png create mode 100644 src/guzzle_api/teawie/imgs/teawie_neutral.png create mode 100644 src/guzzle_api/teawie/imgs/teawie_nommers.png create mode 100644 src/guzzle_api/teawie/imgs/teawie_paint.png create mode 100644 src/guzzle_api/teawie/imgs/teawie_party.png create mode 100644 src/guzzle_api/teawie/imgs/teawie_pet.gif create mode 100644 src/guzzle_api/teawie/imgs/teawie_pet_fast.gif create mode 100644 src/guzzle_api/teawie/imgs/teawie_smile.png create mode 100644 src/guzzle_api/teawie/imgs/teawie_smug.png create mode 100644 src/guzzle_api/teawie/imgs/teawie_starstruck.png create mode 100644 src/guzzle_api/teawie/imgs/teawiepog_new.png create mode 100644 src/guzzle_api/teawie/imgs/this_is_how_you_look_saying_that_shit_teawie.png create mode 100644 src/guzzle_api/teawie/imgs/weird_eyes.png create mode 100644 src/guzzle_api/teawie/lib.py (limited to 'src') diff --git a/src/guzzle_api/__init__.py b/src/guzzle_api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/guzzle_api/api.py b/src/guzzle_api/api.py new file mode 100644 index 0000000..d0770f0 --- /dev/null +++ b/src/guzzle_api/api.py @@ -0,0 +1,35 @@ +from fastapi import FastAPI, Query +from fastapi.staticfiles import StaticFiles + +from guzzle_api import lib +from guzzle_api.teawie import lib as teawie + +URL = "https://guzzle.gay/api" +TEAWIE_STATIC_ENDPOINT = "/static/teawie" + +app = FastAPI() + +app.mount(TEAWIE_STATIC_ENDPOINT, + StaticFiles(packages=[("guzzle_api.teawie.imgs", "")]), + name="teawie_pics") + + +@app.get("/list_teawies") +async def teawie_list(limit: str | None = Query(default="5", max="2")): + try: + limit = int(limit) + except ValueError: + return {"error": "invalid limit"} + + res = {} + for key, value in enumerate(teawie.list_teawies(limit)): + res[key] = lib.path_to_json_val(URL, TEAWIE_STATIC_ENDPOINT, value) + + return res + + +@app.get("/get_random_teawie") +async def get_random_teawie(): + tea = teawie.random_teawie() + value = lib.path_to_json_val(URL, TEAWIE_STATIC_ENDPOINT, tea) + return {"url": f"{value}"} diff --git a/src/guzzle_api/lib.py b/src/guzzle_api/lib.py new file mode 100644 index 0000000..18ef32a --- /dev/null +++ b/src/guzzle_api/lib.py @@ -0,0 +1,5 @@ +from pathlib import Path + + +def path_to_json_val(url: str, mount: str, file_path: Path) -> str: + return f"{url}{mount}/{file_path.name}" diff --git a/src/guzzle_api/teawie/__init__.py b/src/guzzle_api/teawie/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/guzzle_api/teawie/imgs/TEAWIE_FOREVER.png b/src/guzzle_api/teawie/imgs/TEAWIE_FOREVER.png new file mode 100644 index 0000000..54fc6e7 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/TEAWIE_FOREVER.png differ diff --git a/src/guzzle_api/teawie/imgs/__init__.py b/src/guzzle_api/teawie/imgs/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/guzzle_api/teawie/imgs/catppuccin_mocha_teawie_bg.png b/src/guzzle_api/teawie/imgs/catppuccin_mocha_teawie_bg.png new file mode 100644 index 0000000..7d3a083 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/catppuccin_mocha_teawie_bg.png differ diff --git a/src/guzzle_api/teawie/imgs/gifypet_basic_teawie.gif b/src/guzzle_api/teawie/imgs/gifypet_basic_teawie.gif new file mode 100644 index 0000000..84ebe80 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/gifypet_basic_teawie.gif differ diff --git a/src/guzzle_api/teawie/imgs/gifypet_basic_teawie.png b/src/guzzle_api/teawie/imgs/gifypet_basic_teawie.png new file mode 100644 index 0000000..95d2684 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/gifypet_basic_teawie.png differ diff --git a/src/guzzle_api/teawie/imgs/im_going_insane_im_going_to_snap.png b/src/guzzle_api/teawie/imgs/im_going_insane_im_going_to_snap.png new file mode 100644 index 0000000..c9871bb Binary files /dev/null and b/src/guzzle_api/teawie/imgs/im_going_insane_im_going_to_snap.png differ diff --git a/src/guzzle_api/teawie/imgs/image0_png.png b/src/guzzle_api/teawie/imgs/image0_png.png new file mode 100644 index 0000000..0f04441 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/image0_png.png differ diff --git a/src/guzzle_api/teawie/imgs/inspirational_poster_wallpaper_teawie.png b/src/guzzle_api/teawie/imgs/inspirational_poster_wallpaper_teawie.png new file mode 100644 index 0000000..08716bd Binary files /dev/null and b/src/guzzle_api/teawie/imgs/inspirational_poster_wallpaper_teawie.png differ diff --git a/src/guzzle_api/teawie/imgs/midgame_to_lategame_brainfog.png b/src/guzzle_api/teawie/imgs/midgame_to_lategame_brainfog.png new file mode 100644 index 0000000..a7a2247 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/midgame_to_lategame_brainfog.png differ diff --git a/src/guzzle_api/teawie/imgs/omg_hes_in_the_blender_dont_blend_him.png b/src/guzzle_api/teawie/imgs/omg_hes_in_the_blender_dont_blend_him.png new file mode 100644 index 0000000..79b9d80 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/omg_hes_in_the_blender_dont_blend_him.png differ diff --git a/src/guzzle_api/teawie/imgs/tea_sit_derp1_png.png b/src/guzzle_api/teawie/imgs/tea_sit_derp1_png.png new file mode 100644 index 0000000..9782213 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/tea_sit_derp1_png.png differ diff --git a/src/guzzle_api/teawie/imgs/teawie.png b/src/guzzle_api/teawie/imgs/teawie.png new file mode 100644 index 0000000..c4815a0 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie.png differ diff --git a/src/guzzle_api/teawie/imgs/teawie_chrimas.png b/src/guzzle_api/teawie/imgs/teawie_chrimas.png new file mode 100644 index 0000000..c899523 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_chrimas.png differ diff --git a/src/guzzle_api/teawie/imgs/teawie_cry.png b/src/guzzle_api/teawie/imgs/teawie_cry.png new file mode 100644 index 0000000..1ac793b Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_cry.png differ diff --git a/src/guzzle_api/teawie/imgs/teawie_derp.png b/src/guzzle_api/teawie/imgs/teawie_derp.png new file mode 100644 index 0000000..45a8dd3 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_derp.png differ diff --git a/src/guzzle_api/teawie/imgs/teawie_dizzy.png b/src/guzzle_api/teawie/imgs/teawie_dizzy.png new file mode 100644 index 0000000..04c28c9 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_dizzy.png differ diff --git a/src/guzzle_api/teawie/imgs/teawie_generator_concept.png b/src/guzzle_api/teawie/imgs/teawie_generator_concept.png new file mode 100644 index 0000000..ee5b429 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_generator_concept.png differ diff --git a/src/guzzle_api/teawie/imgs/teawie_halloween.png b/src/guzzle_api/teawie/imgs/teawie_halloween.png new file mode 100644 index 0000000..bd66661 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_halloween.png differ diff --git a/src/guzzle_api/teawie/imgs/teawie_hydraulic_png.png b/src/guzzle_api/teawie/imgs/teawie_hydraulic_png.png new file mode 100644 index 0000000..08d4a25 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_hydraulic_png.png differ diff --git a/src/guzzle_api/teawie/imgs/teawie_neutral.png b/src/guzzle_api/teawie/imgs/teawie_neutral.png new file mode 100644 index 0000000..4c2c49d Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_neutral.png differ diff --git a/src/guzzle_api/teawie/imgs/teawie_nommers.png b/src/guzzle_api/teawie/imgs/teawie_nommers.png new file mode 100644 index 0000000..ad69f50 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_nommers.png differ diff --git a/src/guzzle_api/teawie/imgs/teawie_paint.png b/src/guzzle_api/teawie/imgs/teawie_paint.png new file mode 100644 index 0000000..2b3baeb Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_paint.png differ diff --git a/src/guzzle_api/teawie/imgs/teawie_party.png b/src/guzzle_api/teawie/imgs/teawie_party.png new file mode 100644 index 0000000..8f9434a Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_party.png differ diff --git a/src/guzzle_api/teawie/imgs/teawie_pet.gif b/src/guzzle_api/teawie/imgs/teawie_pet.gif new file mode 100644 index 0000000..782722a Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_pet.gif differ diff --git a/src/guzzle_api/teawie/imgs/teawie_pet_fast.gif b/src/guzzle_api/teawie/imgs/teawie_pet_fast.gif new file mode 100644 index 0000000..5123e99 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_pet_fast.gif differ diff --git a/src/guzzle_api/teawie/imgs/teawie_smile.png b/src/guzzle_api/teawie/imgs/teawie_smile.png new file mode 100644 index 0000000..e9d3f3c Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_smile.png differ diff --git a/src/guzzle_api/teawie/imgs/teawie_smug.png b/src/guzzle_api/teawie/imgs/teawie_smug.png new file mode 100644 index 0000000..8d9f1d0 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_smug.png differ diff --git a/src/guzzle_api/teawie/imgs/teawie_starstruck.png b/src/guzzle_api/teawie/imgs/teawie_starstruck.png new file mode 100644 index 0000000..27edd30 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawie_starstruck.png differ diff --git a/src/guzzle_api/teawie/imgs/teawiepog_new.png b/src/guzzle_api/teawie/imgs/teawiepog_new.png new file mode 100644 index 0000000..c134030 Binary files /dev/null and b/src/guzzle_api/teawie/imgs/teawiepog_new.png differ diff --git a/src/guzzle_api/teawie/imgs/this_is_how_you_look_saying_that_shit_teawie.png b/src/guzzle_api/teawie/imgs/this_is_how_you_look_saying_that_shit_teawie.png new file mode 100644 index 0000000..5e9961c Binary files /dev/null and b/src/guzzle_api/teawie/imgs/this_is_how_you_look_saying_that_shit_teawie.png differ diff --git a/src/guzzle_api/teawie/imgs/weird_eyes.png b/src/guzzle_api/teawie/imgs/weird_eyes.png new file mode 100644 index 0000000..7181e0f Binary files /dev/null and b/src/guzzle_api/teawie/imgs/weird_eyes.png differ diff --git a/src/guzzle_api/teawie/lib.py b/src/guzzle_api/teawie/lib.py new file mode 100644 index 0000000..2dd452c --- /dev/null +++ b/src/guzzle_api/teawie/lib.py @@ -0,0 +1,25 @@ +import importlib.resources +import random +from math import ceil +from pathlib import Path + +from guzzle_api.teawie import imgs + +NUM_TEAWIES = 30 + + +def list_teawies(limit: int) -> list[Path]: + files = importlib.resources.files(imgs) + + res = [] + for i, file in enumerate(files.iterdir()): + if i >= limit: + break + res.append(file) + + return res + + +def random_teawie() -> Path: + limit = ceil(NUM_TEAWIES / 2) + return random.choice(list_teawies(limit)) -- cgit v1.2.3