summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/guzzle_api/__init__.py0
-rw-r--r--src/guzzle_api/api.py35
-rw-r--r--src/guzzle_api/lib.py5
-rw-r--r--src/guzzle_api/teawie/__init__.py0
-rw-r--r--src/guzzle_api/teawie/imgs/TEAWIE_FOREVER.pngbin0 -> 62056 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/__init__.py0
-rw-r--r--src/guzzle_api/teawie/imgs/catppuccin_mocha_teawie_bg.pngbin0 -> 386451 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/gifypet_basic_teawie.gifbin0 -> 7172 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/gifypet_basic_teawie.pngbin0 -> 4718 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/im_going_insane_im_going_to_snap.pngbin0 -> 540678 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/image0_png.pngbin0 -> 18820 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/inspirational_poster_wallpaper_teawie.pngbin0 -> 414954 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/midgame_to_lategame_brainfog.pngbin0 -> 824969 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/omg_hes_in_the_blender_dont_blend_him.pngbin0 -> 4214259 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/tea_sit_derp1_png.pngbin0 -> 661635 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie.pngbin0 -> 635254 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_chrimas.pngbin0 -> 661156 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_cry.pngbin0 -> 22338 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_derp.pngbin0 -> 22060 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_dizzy.pngbin0 -> 23040 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_generator_concept.pngbin0 -> 48798 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_halloween.pngbin0 -> 691950 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_hydraulic_png.pngbin0 -> 313087 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_neutral.pngbin0 -> 21383 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_nommers.pngbin0 -> 497233 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_paint.pngbin0 -> 40150 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_party.pngbin0 -> 646485 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_pet.gifbin0 -> 31948 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_pet_fast.gifbin0 -> 31948 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_smile.pngbin0 -> 21454 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_smug.pngbin0 -> 20898 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawie_starstruck.pngbin0 -> 22114 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/teawiepog_new.pngbin0 -> 318300 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/this_is_how_you_look_saying_that_shit_teawie.pngbin0 -> 614155 bytes
-rw-r--r--src/guzzle_api/teawie/imgs/weird_eyes.pngbin0 -> 299567 bytes
-rw-r--r--src/guzzle_api/teawie/lib.py25
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
new file mode 100644
index 0000000..54fc6e7
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/TEAWIE_FOREVER.png
Binary files 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
--- /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
new file mode 100644
index 0000000..7d3a083
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/catppuccin_mocha_teawie_bg.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/gifypet_basic_teawie.gif
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/gifypet_basic_teawie.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/im_going_insane_im_going_to_snap.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/image0_png.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/inspirational_poster_wallpaper_teawie.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/midgame_to_lategame_brainfog.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/omg_hes_in_the_blender_dont_blend_him.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/tea_sit_derp1_png.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_chrimas.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_cry.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_derp.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_dizzy.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_generator_concept.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_halloween.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_hydraulic_png.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_neutral.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_nommers.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_paint.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_party.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_pet.gif
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_pet_fast.gif
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_smile.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_smug.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawie_starstruck.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/teawiepog_new.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/this_is_how_you_look_saying_that_shit_teawie.png
Binary files 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
--- /dev/null
+++ b/src/guzzle_api/teawie/imgs/weird_eyes.png
Binary files 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))