I can persist tabmanager state

This commit is contained in:
2025-11-11 23:03:52 +01:00
parent 7f56b89e66
commit fb57a6a81d
9 changed files with 164 additions and 50 deletions

View File

@@ -17,9 +17,10 @@ class BaseInstance:
Base class for all instances (manageable by InstancesManager)
"""
def __init__(self, session: dict, _id: str, auto_register: bool = True):
def __init__(self, session: dict, prefix: str, _id: str, auto_register: bool = True):
self._session = session
self._id = _id
self._prefix = prefix
if auto_register:
InstancesManager.register(session, self)
@@ -28,6 +29,9 @@ class BaseInstance:
def get_session(self):
return self._session
def get_prefix(self):
return self._prefix
class SingleInstance(BaseInstance):
@@ -36,8 +40,7 @@ class SingleInstance(BaseInstance):
"""
def __init__(self, session: dict, prefix: str, auto_register: bool = True):
super().__init__(session, prefix, auto_register)
self._instance = None
super().__init__(session, prefix, prefix, auto_register)
class UniqueInstance(BaseInstance):
@@ -47,8 +50,8 @@ class UniqueInstance(BaseInstance):
"""
def __init__(self, session: dict, prefix: str, auto_register: bool = True):
super().__init__(session, prefix, auto_register)
self._instance = None
super().__init__(session, prefix, prefix, auto_register)
self._prefix = prefix
class MultipleInstance(BaseInstance):
@@ -56,9 +59,9 @@ class MultipleInstance(BaseInstance):
Base class for instances that can have multiple instances at a time.
"""
def __init__(self, session: dict, prefix: str, auto_register: bool = True):
super().__init__(session, f"{prefix}-{str(uuid.uuid4())}", auto_register)
self._instance = None
def __init__(self, session: dict, prefix: str, auto_register: bool = True, _id=None):
super().__init__(session, prefix, f"{prefix}-{_id or str(uuid.uuid4())}", auto_register)
self._prefix = prefix
class InstancesManager: