-
Notifications
You must be signed in to change notification settings - Fork 0
/
armor.py
34 lines (26 loc) · 1002 Bytes
/
armor.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from helper import getJsonObjectsFromUrl, beautifyList
def armorLookup(skill: str) -> list:
"""
Looks up armor pieces for a skill from mhw-db.com
:param skill: skill to lookup
:return: list of armor names
"""
apiObjects = getArmors()
output = filterArmors(apiObjects, skill)
return output
def filterArmors(apiObjects, skill) -> list:
filteredArmor = []
for armorPiece in apiObjects:
for armorSkill in armorPiece['skills']:
if armorSkill['skillName'].lower() == skill.lower():
filteredArmor.append(armorPiece)
output = [armorPiece['name'] for armorPiece in filteredArmor]
output.sort()
return output
def getFormattedArmorOutput(skill):
armorPieces = armorLookup(skill)
output = beautifyList(armorPieces)
return output
def getArmors():
requestUrl = "https://mhw-db.com/armor?p={\"name\": true, \"skills.skillName\": true, \"skills.level\": true}"
return getJsonObjectsFromUrl(requestUrl)