Source code for lories._core._configurator
# -*- coding: utf-8 -*-
"""
lories._core._configurator
~~~~~~~~~~~~~~~~~~~~~~~~~~
"""
from __future__ import annotations
from abc import ABC, abstractmethod
from typing import Optional, TypeVar
from lories._core._configurations import Configurations
[docs]
class _Configurator(ABC):
@abstractmethod
def is_enabled(self) -> bool: ...
@abstractmethod
def is_configured(self) -> bool: ...
@property
@abstractmethod
def configs(self) -> Optional[Configurations]: ...
def configure(self, configs: Configurations) -> None:
pass
def update(self, configs: Configurations) -> None:
pass
@abstractmethod
def copy(self) -> Configurator: ...
@abstractmethod
def duplicate(self, configs: Optional[Configurations] = None, **changes) -> Configurator: ...
Configurator = TypeVar("Configurator", bound=_Configurator)