Source code for fragmented_keys.configuration

from __future__ import annotations

from typing import TYPE_CHECKING

if TYPE_CHECKING:
    from fragmented_keys.protocols import CacheHandler


[docs] class Configuration: """Global configuration for the fragmented keys library.""" _default_cache_handler: CacheHandler | None = None _global_prefix: str = "DefaultPrefix"
[docs] @classmethod def set_default_cache_handler(cls, handler: CacheHandler) -> None: cls._default_cache_handler = handler
[docs] @classmethod def get_default_cache_handler(cls) -> CacheHandler: if cls._default_cache_handler is None: raise RuntimeError( "No default cache handler configured. " "Call Configuration.set_default_cache_handler() first." ) return cls._default_cache_handler
[docs] @classmethod def set_global_prefix(cls, prefix: str) -> None: cls._global_prefix = prefix
[docs] @classmethod def get_global_prefix(cls) -> str: return cls._global_prefix
[docs] @classmethod def reset(cls) -> None: """Reset configuration to defaults. Useful for testing.""" cls._default_cache_handler = None cls._global_prefix = "DefaultPrefix"