INNER CODE UNIT · Python
__new__
BlessedRebuS/Krawl · src/database/core.py:144
def __new__(cls) -> "DatabaseManager":
if cls._instance is None:
cls._instance = super().__new__(cls)
cls._instance._initialized = False
# Wire up domain sub-repositories up front so `db.<repo>` is always
# present, even before initialize(). Each holds a back-reference to
# the manager for session access; their methods raise the usual
# "not initialized" error if used before initialize() (same as the
# pre-split methods did). See database/__init__.py for rationale.
cls._instance.credentials = CredentialRepo(cls._instance)
cls._instance.generated_pages = GeneratedPageRepo(cls._instance)
cls._instance.analytics = AnalyticsRepo(cls._instance)
cls._instance.ip_stats = IpStatsRepo(cls._instance)
cls._instance.access_logs = AccessLogRepo(cls._instance)
cls._instance.payloads = PayloadRepo(cls._instance)
return cls._instance
def initialize(