summaryrefslogtreecommitdiff
path: root/src/guzzle_api/teawie/lib.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/guzzle_api/teawie/lib.py')
-rw-r--r--src/guzzle_api/teawie/lib.py25
1 files changed, 25 insertions, 0 deletions
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))