-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathuser.py
More file actions
75 lines (58 loc) · 2.18 KB
/
Copy pathuser.py
File metadata and controls
75 lines (58 loc) · 2.18 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
# from base import Base
import group
# class User(Base):
class User():
__slots__ = 'username', 'password', 'groups'
def __init__(self, username, password, groups=None):
# super.__init__()
self.username = username
self.password = hash(password)
if groups == None:
self.groups = []
else:
self.groups = groups
def __str__(self):
return "The username is " + str(self.username) + \
". \nThe hashed password is " + str(self.password) + \
". \nThe user belongs to the group: " + str(self.groups)
def change_username(self, old, new):
self.username = new
# TODO: main (command & gui to check if the new username is available)
def change_password(self, old, new):
if hash(old) == self.password:
self.password = hash(new)
else:
print("Incorrect old password!")
def check_password(self, attempt):
return self.password == hash(attempt)
def enter_group(self, group):
if group not in self.groups:
self.groups.append(group)
group.add_user(self)
else:
print("You are already in " + group.groupname)
def invite(self, user, group):
if group not in self.groups:
user.groups.append(group)
group.add_user(user)
else:
print(user.username + " is already in " + group.groupname)
def add_task(self, group, task):
# if task not in group.tasks:
group.add_task(task)
# else:
# print(task.taskname + " is already in " + group.groupname)
def complete_task(self, group, task):
group.complete_task(task, self)
def delete_task(self, group, task):
group.delete_task(task)
def restore_task(self, group, task):
group.restore_task(task)
# def load_json_dict(self, json_dict):
# self.username = json_dict["username"]
# self.password = json_dict["password"]
# self.groups = json_dict["groups"]
# def dump_json_dict(self):
# return {"username": self.username,
# "password": self.password,
# "groups": self.groups}