Abhinav commited on
Commit
ee60860
·
unverified ·
1 Parent(s): ecd799f

feat: Helper functions

Browse files
Files changed (2) hide show
  1. utils/models.py +50 -0
  2. utils/wolvesville.py +24 -0
utils/models.py ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pydantic import BaseModel
2
+ from typing import Dict, List, Union
3
+
4
+
5
+ class Image(BaseModel):
6
+ url: str
7
+ width: int
8
+ height: int
9
+
10
+
11
+ class Role(BaseModel):
12
+ id: str
13
+ team: str
14
+ aura: str
15
+ name: str
16
+ description: str
17
+ image: Image
18
+
19
+
20
+ def _getRoleObjects(roles: List[Dict[str, Union[str, Dict]]]):
21
+ roleList = []
22
+ for role in roles:
23
+ try:
24
+ entry = Role(**role)
25
+ roleList.append(entry)
26
+ except Exception as e:
27
+ print(e)
28
+ print(role)
29
+ return roleList
30
+
31
+
32
+ class Emoji(BaseModel):
33
+ id: str
34
+ name: str
35
+ rarity: str
36
+ urlPreview: str
37
+ urlAnimation: str
38
+ event: str = None
39
+
40
+
41
+ def _getEmojiObjects(emojis: List[Dict[str, Union[str, Dict]]]):
42
+ emojiList = []
43
+ for emoji in emojis:
44
+ try:
45
+ entry = Emoji(**emoji)
46
+ emojiList.append(entry)
47
+ except Exception as e:
48
+ print(e)
49
+ print(emoji)
50
+ return emojiList
utils/wolvesville.py ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from utils.models import _getRoleObjects, _getEmojiObjects
2
+ from dotenv import load_dotenv
3
+ from os import getenv
4
+ import requests
5
+
6
+ load_dotenv()
7
+
8
+
9
+ class Wolvesville:
10
+ def __init__(self):
11
+ API_KEY = getenv("API_KEY")
12
+ self.headers = {"Authorization": f"Bot {API_KEY}"}
13
+ self.url = "https://api.wolvesville.com"
14
+
15
+ def getRoles(self):
16
+ data = requests.get(f"{self.url}/roles", headers=self.headers).json()
17
+ roles = data["roles"]
18
+ resp = _getRoleObjects(roles=roles)
19
+ return resp
20
+
21
+ def getEmojis(self):
22
+ emojis = requests.get(f"{self.url}/items/emojis", headers=self.headers).json()
23
+ resp = _getEmojiObjects(emojis=emojis)
24
+ return resp