diff options
| author | seth <[email protected]> | 2023-01-09 23:34:50 -0500 |
|---|---|---|
| committer | seth <[email protected]> | 2023-01-09 23:34:50 -0500 |
| commit | a60707fcac4e46d58199f0aa82420061572fb1b5 (patch) | |
| tree | 99ee4f3978fca27d543e5c789f099df62bacdd8c /src | |
feat: initial commit
Diffstat (limited to 'src')
36 files changed, 65 insertions, 0 deletions
diff --git a/src/guzzle_api/__init__.py b/src/guzzle_api/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/guzzle_api/__init__.py 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") + + [email protected]("/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 + + [email protected]("/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 --- /dev/null +++ b/src/guzzle_api/teawie/__init__.py diff --git a/src/guzzle_api/teawie/imgs/TEAWIE_FOREVER.png b/src/guzzle_api/teawie/imgs/TEAWIE_FOREVER.png Binary files differnew file mode 100644 index 0000000..54fc6e7 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/TEAWIE_FOREVER.png 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 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/__init__.py diff --git a/src/guzzle_api/teawie/imgs/catppuccin_mocha_teawie_bg.png b/src/guzzle_api/teawie/imgs/catppuccin_mocha_teawie_bg.png Binary files differnew file mode 100644 index 0000000..7d3a083 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/catppuccin_mocha_teawie_bg.png diff --git a/src/guzzle_api/teawie/imgs/gifypet_basic_teawie.gif b/src/guzzle_api/teawie/imgs/gifypet_basic_teawie.gif Binary files differnew file mode 100644 index 0000000..84ebe80 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/gifypet_basic_teawie.gif diff --git a/src/guzzle_api/teawie/imgs/gifypet_basic_teawie.png b/src/guzzle_api/teawie/imgs/gifypet_basic_teawie.png Binary files differnew file mode 100644 index 0000000..95d2684 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/gifypet_basic_teawie.png 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 Binary files differnew file mode 100644 index 0000000..c9871bb --- /dev/null +++ b/src/guzzle_api/teawie/imgs/im_going_insane_im_going_to_snap.png diff --git a/src/guzzle_api/teawie/imgs/image0_png.png b/src/guzzle_api/teawie/imgs/image0_png.png Binary files differnew file mode 100644 index 0000000..0f04441 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/image0_png.png diff --git a/src/guzzle_api/teawie/imgs/inspirational_poster_wallpaper_teawie.png b/src/guzzle_api/teawie/imgs/inspirational_poster_wallpaper_teawie.png Binary files differnew file mode 100644 index 0000000..08716bd --- /dev/null +++ b/src/guzzle_api/teawie/imgs/inspirational_poster_wallpaper_teawie.png diff --git a/src/guzzle_api/teawie/imgs/midgame_to_lategame_brainfog.png b/src/guzzle_api/teawie/imgs/midgame_to_lategame_brainfog.png Binary files differnew file mode 100644 index 0000000..a7a2247 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/midgame_to_lategame_brainfog.png 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 Binary files differnew file mode 100644 index 0000000..79b9d80 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/omg_hes_in_the_blender_dont_blend_him.png diff --git a/src/guzzle_api/teawie/imgs/tea_sit_derp1_png.png b/src/guzzle_api/teawie/imgs/tea_sit_derp1_png.png Binary files differnew file mode 100644 index 0000000..9782213 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/tea_sit_derp1_png.png diff --git a/src/guzzle_api/teawie/imgs/teawie.png b/src/guzzle_api/teawie/imgs/teawie.png Binary files differnew file mode 100644 index 0000000..c4815a0 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie.png diff --git a/src/guzzle_api/teawie/imgs/teawie_chrimas.png b/src/guzzle_api/teawie/imgs/teawie_chrimas.png Binary files differnew file mode 100644 index 0000000..c899523 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_chrimas.png diff --git a/src/guzzle_api/teawie/imgs/teawie_cry.png b/src/guzzle_api/teawie/imgs/teawie_cry.png Binary files differnew file mode 100644 index 0000000..1ac793b --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_cry.png diff --git a/src/guzzle_api/teawie/imgs/teawie_derp.png b/src/guzzle_api/teawie/imgs/teawie_derp.png Binary files differnew file mode 100644 index 0000000..45a8dd3 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_derp.png diff --git a/src/guzzle_api/teawie/imgs/teawie_dizzy.png b/src/guzzle_api/teawie/imgs/teawie_dizzy.png Binary files differnew file mode 100644 index 0000000..04c28c9 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_dizzy.png diff --git a/src/guzzle_api/teawie/imgs/teawie_generator_concept.png b/src/guzzle_api/teawie/imgs/teawie_generator_concept.png Binary files differnew file mode 100644 index 0000000..ee5b429 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_generator_concept.png diff --git a/src/guzzle_api/teawie/imgs/teawie_halloween.png b/src/guzzle_api/teawie/imgs/teawie_halloween.png Binary files differnew file mode 100644 index 0000000..bd66661 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_halloween.png diff --git a/src/guzzle_api/teawie/imgs/teawie_hydraulic_png.png b/src/guzzle_api/teawie/imgs/teawie_hydraulic_png.png Binary files differnew file mode 100644 index 0000000..08d4a25 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_hydraulic_png.png diff --git a/src/guzzle_api/teawie/imgs/teawie_neutral.png b/src/guzzle_api/teawie/imgs/teawie_neutral.png Binary files differnew file mode 100644 index 0000000..4c2c49d --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_neutral.png diff --git a/src/guzzle_api/teawie/imgs/teawie_nommers.png b/src/guzzle_api/teawie/imgs/teawie_nommers.png Binary files differnew file mode 100644 index 0000000..ad69f50 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_nommers.png diff --git a/src/guzzle_api/teawie/imgs/teawie_paint.png b/src/guzzle_api/teawie/imgs/teawie_paint.png Binary files differnew file mode 100644 index 0000000..2b3baeb --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_paint.png diff --git a/src/guzzle_api/teawie/imgs/teawie_party.png b/src/guzzle_api/teawie/imgs/teawie_party.png Binary files differnew file mode 100644 index 0000000..8f9434a --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_party.png diff --git a/src/guzzle_api/teawie/imgs/teawie_pet.gif b/src/guzzle_api/teawie/imgs/teawie_pet.gif Binary files differnew file mode 100644 index 0000000..782722a --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_pet.gif diff --git a/src/guzzle_api/teawie/imgs/teawie_pet_fast.gif b/src/guzzle_api/teawie/imgs/teawie_pet_fast.gif Binary files differnew file mode 100644 index 0000000..5123e99 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_pet_fast.gif diff --git a/src/guzzle_api/teawie/imgs/teawie_smile.png b/src/guzzle_api/teawie/imgs/teawie_smile.png Binary files differnew file mode 100644 index 0000000..e9d3f3c --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_smile.png diff --git a/src/guzzle_api/teawie/imgs/teawie_smug.png b/src/guzzle_api/teawie/imgs/teawie_smug.png Binary files differnew file mode 100644 index 0000000..8d9f1d0 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_smug.png diff --git a/src/guzzle_api/teawie/imgs/teawie_starstruck.png b/src/guzzle_api/teawie/imgs/teawie_starstruck.png Binary files differnew file mode 100644 index 0000000..27edd30 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawie_starstruck.png diff --git a/src/guzzle_api/teawie/imgs/teawiepog_new.png b/src/guzzle_api/teawie/imgs/teawiepog_new.png Binary files differnew file mode 100644 index 0000000..c134030 --- /dev/null +++ b/src/guzzle_api/teawie/imgs/teawiepog_new.png 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 Binary files differnew file mode 100644 index 0000000..5e9961c --- /dev/null +++ b/src/guzzle_api/teawie/imgs/this_is_how_you_look_saying_that_shit_teawie.png diff --git a/src/guzzle_api/teawie/imgs/weird_eyes.png b/src/guzzle_api/teawie/imgs/weird_eyes.png Binary files differnew file mode 100644 index 0000000..7181e0f --- /dev/null +++ b/src/guzzle_api/teawie/imgs/weird_eyes.png 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)) |
