-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplayer_creator.py
More file actions
85 lines (70 loc) · 1.93 KB
/
player_creator.py
File metadata and controls
85 lines (70 loc) · 1.93 KB
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import argparse
import json
from database_connection import Database
from rank import Rank
from role import Role
database = Database()
# convert strings into the enums, rank enum might be useless...
ranks: dict = {
"low iron": Rank.LOW_IRON,
"high iron": Rank.HIGH_IRON,
"low bronze": Rank.LOW_BRONZE,
"high bronze": Rank.HIGH_BRONZE,
"low silver": Rank.LOW_SILVER,
"high silver": Rank.HIGH_SILVER,
"low gold": Rank.LOW_GOLD,
"high gold": Rank.HIGH_GOLD,
"low plat": Rank.LOW_PLAT,
"high plat": Rank.HIGH_PLAT,
"low emerald": Rank.LOW_EMERALD,
"high emerald": Rank.HIGH_EMERALD,
"low diamond": Rank.LOW_DIAMOND,
"high diamond": Rank.HIGH_DIAMOND,
"master": Rank.MASTER,
"grandmaster": Rank.GRANDMASTER,
"challenger": Rank.CHALLENGER
}
role_options: dict = {
"top": Role.TOP,
"jg": Role.JG,
"mid": Role.MID,
"adc": Role.BOT,
"bot": Role.BOT,
"sup": Role.SUP,
"fill": Role.FILL,
"not top": Role.NOT_TOP,
"not jg": Role.NOT_JG,
"not mid": Role.NOT_MID,
"not bot": Role.NOT_BOT,
"not adc": Role.NOT_BOT,
"not sup": Role.NOT_SUP
}
# allow list of strings for parsing
def list_of_strings(arg):
return arg.split(', ')
parser = argparse.ArgumentParser()
parser.add_argument('--name', type=str, required=True)
parser.add_argument('--rank', type=str, required=True)
parser.add_argument('--roles', type=list_of_strings, required=True)
args = parser.parse_args()
name: str = args.name
rank: Rank = ranks[args.rank.lower()]
roles: list[Role] = []
for entry in args.roles:
# fill is a list, so extend is used rather then append
try:
roles.append(role_options[entry])
except:
pass
role_names = []
for entry in roles:
role_names.append(entry.name)
# package data for json
data = {
"name": name,
"rank": rank.name,
"roles": role_names,
"games_played": 0,
"elo": rank.value
}
database.create_player(data)