-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuser.py
More file actions
56 lines (46 loc) · 2.08 KB
/
Copy pathuser.py
File metadata and controls
56 lines (46 loc) · 2.08 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
from db import select_actions
from db import dml_actions
class User:
def __init__(self, user_id, tg_id):
self.user_id = None
self.tg_id = None
self.time_zone = None
self.notification_time = None
self.min_days_num = None
self.max_days_num = None
self.latest_gift_dt = None
self.time_to_gift_flg = None
self.refresh_args(user_id, tg_id)
def check(self):
if self.tg_id is None \
or self.time_zone is None \
or self.notification_time is None \
or self.min_days_num is None \
or self.max_days_num is None \
or self.latest_gift_dt is None:
return False
return True
def refresh_args(self, user_id, tg_id):
user_info = select_actions.get_user_info(user_id, tg_id)
if user_info is not None:
self.user_id = user_info["user_id"]
self.tg_id = user_info["tg_id"]
self.time_zone = user_info["time_zone"]
self.notification_time = user_info["notification_time"]
self.min_days_num = user_info["min_days_num"]
self.max_days_num = user_info["max_days_num"]
self.time_to_gift_flg = True if user_info["time_to_gift_flg"] == "1" else False
gift_info = select_actions.get_latest_gift(self.user_id)
if gift_info is not None:
self.latest_gift_dt = gift_info["gift_dt"]
def refresh(self):
self.refresh_args(self.user_id, self.tg_id)
def add_gift(self, gift_dt):
dml_actions.add_gift(self.user_id, gift_dt)
self.refresh()
def update_user_info(self, tg_id=None, time_zone=None, notification_time=None, min_days_num=None, max_days_num=None,
time_to_gift_flg=None):
dml_actions.update_user_info(self.user_id, tg_id=tg_id, time_zone=time_zone, notification_time=notification_time,
min_days_num=min_days_num, max_days_num=max_days_num,
time_to_gift_flg=time_to_gift_flg)
self.refresh()