import uuid
from dataclasses import dataclass, field
@dataclass
class Task:
task_id: int
task_state: bool = False
@dataclass
class User:
username: str
task_dict: dict[int:Task] = field(default_factory=dict)
def create_task(self, task_id: int) -> None:
"""
创建任务
:param task_id : 任务 id
"""
self.task_dict[task_id] = Task(task_id=task_id)
def delete_task(self, task_id: int) -> None:
"""
删除任务
:param task_id : 任务 id
"""
del self.task_dict[task_id]
def get_task(self, task_id: int) -> Task:
"""
获取任务
:param task_id : 任务 id
:return Task : 返回任务模型
"""
return self.task_dict[task_id]
class UserManager:
def __init__(self):
self.user_dict: dict[str:User] = {}
def add_user(self, user: str) -> bool:
"""
添加新用户
:param user : 添加的用户
:return bool : 如果用户已存在,返回 False;否则添加用户,返回 True
"""
if self.check_user_exists(user):
return False
else:
self.user_dict[user] = User(username=user)
return True
def remove_user(self, user: str) -> bool:
"""
移除用户
:param user : 移除的用户
:return bool : 如果用户存在,移除用户并返回 True;否则返回 False
"""
if self.check_user_exists(user):
del self.user_dict[user]
return True
else:
return False
def check_user_exists(self, user: str) -> bool:
"""
检查用户是否已存在用户字典中
:param user : 检查的用户
:return bool : 如果用户已存在,返回 True;否则返回 False
"""
return user in self.user_dict
def get_user(self, user: str) -> User:
"""
获取用户字典中的用户
:param user : 获取的用户
:return User : 返回用户模型
"""
return self.user_dict[user]
@staticmethod
def get_username_uuid(username) -> str:
"""
将用户名与 uuid 拼接,格式为'用户名_uuid'
:param username : 用户名
:return str : 拼接后的字符串
"""
return f'{username}_{uuid.uuid4()}'