#!/usr/bin/env python3 # -*- coding: utf-8 -*- from typing import Self, Optional from Interfaces.Application.AnPInterface import AnPInterface from Models.SessionModel import SessionModel class SessionsManager: def __init__(self:Self, anp:AnPInterface) -> None: self.anp:AnPInterface = anp self.__sessions:dict[str, SessionModel] = {} self.update() def update(self:Self) -> None:pass def reset(self:Self) -> None: self.__sessions = {} self.update() def get(self:Self, id:Optional[str] = None) -> SessionModel|None: if id is None: session:SessionModel = SessionModel(self.anp.unique_keys.get()) self.__sessions[session.id] = session return session return self.__sessions.get(id, None) def remove(self:Self, id:str) -> bool: if id in self.__sessions: del self.__sessions[id] return True return False