-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathmodels.py
More file actions
87 lines (76 loc) · 2.28 KB
/
Copy pathmodels.py
File metadata and controls
87 lines (76 loc) · 2.28 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
86
87
from pony.orm import *
from datetime import datetime, timedelta
db = Database(provider='sqlite', filename='database.sqlite', create_db=True) # created DB only if not exists
class User(db.Entity):
id = PrimaryKey(str) # == discord ID
xp = Required(int, default=0)
display_avatar_url = Required(str)
name = Required(str)
mention = Required(str)
pendu_completed = Required(int, default=0)
puissance4_won = Required(int, default=0)
is_admin = Required(bool, default=False)
money = Required(int, default=0)
time_limits = Optional('TimeLimits', cascade_delete=True)
class TimeLimits(db.Entity):
user = Required(User)
freelance = Required(datetime, default=datetime.now() - timedelta(hours=1))
alternance = Required(datetime, default=datetime.now() - timedelta(hours=6))
class Level(db.Entity):
level = PrimaryKey(int)
name = Required(str)
threshold = Required(int)
db.generate_mapping(create_tables=True)
levels = [
{
'level': 1,
'threshold': 0,
'name': 'Stagiaire'
},
{
'level': 2,
'threshold': 100,
'name': 'Apprenti'
},
{
'level': 3,
'threshold': 300,
'name': 'Freelancer'
},
{
'level': 4,
'threshold': 500,
'name': 'Dev junior'
},
{
'level': 5,
'threshold': 1000,
'name': 'Dev Mid-Level'
},
{
'level': 6,
'threshold': 2000,
'name': 'Dev Senior'
},
{
'level': 7,
'threshold': 4000,
'name': 'Lead Developer'
},
{
'level': 8,
'threshold': 8000,
'name': 'CTO'
},
{
'level': 9,
'threshold': 20000,
'name': 'Ultramax basement dweller'
},
]
with db_session:
for level in levels:
existing_l = Level.get(level=level["level"])
if existing_l != None:
continue
l = Level(level=level["level"], threshold=level["threshold"], name=level["name"])