Assistants.assistant

Базовый класс Assistant и его контракт.

Определяет абстрактный интерфейс для всех ассистентов системы. Каждый ассистент должен реализовать метод run(), выполняющий один цикл обработки.

 1"""
 2Базовый класс Assistant и его контракт.
 3
 4Определяет абстрактный интерфейс для всех ассистентов системы.
 5Каждый ассистент должен реализовать метод run(), выполняющий
 6один цикл обработки.
 7"""
 8
 9from abc import ABC, abstractmethod
10
11
12class Assistant(ABC):
13    """Абстрактный базовый класс для всех ассистентов.
14
15    Ассистент реализует единичный цикл проверки состояния и/или
16    управления устройствами. За периодический запуск отвечает
17    ScheduledAssistant.
18
19    Attributes:
20        name: Имя ассистента.
21    """
22
23    @abstractmethod
24    def __init__(self, name: str = "Ассистент без имени") -> None:
25        """Инициализирует базового ассистента.
26
27        Args:
28            name: Имя ассистента (по умолчанию "Ассистент без имени").
29        """
30        self.name: str = name
31
32    @abstractmethod
33    def run(self) -> None:
34        """Выполняет один цикл обработки состояний и функционала.
35
36        Должен быть переопределён в подклассе.
37        """
38        pass
class Assistant(abc.ABC):
13class Assistant(ABC):
14    """Абстрактный базовый класс для всех ассистентов.
15
16    Ассистент реализует единичный цикл проверки состояния и/или
17    управления устройствами. За периодический запуск отвечает
18    ScheduledAssistant.
19
20    Attributes:
21        name: Имя ассистента.
22    """
23
24    @abstractmethod
25    def __init__(self, name: str = "Ассистент без имени") -> None:
26        """Инициализирует базового ассистента.
27
28        Args:
29            name: Имя ассистента (по умолчанию "Ассистент без имени").
30        """
31        self.name: str = name
32
33    @abstractmethod
34    def run(self) -> None:
35        """Выполняет один цикл обработки состояний и функционала.
36
37        Должен быть переопределён в подклассе.
38        """
39        pass

Абстрактный базовый класс для всех ассистентов.

Ассистент реализует единичный цикл проверки состояния и/или управления устройствами. За периодический запуск отвечает ScheduledAssistant.

Attributes: name: Имя ассистента.

@abstractmethod
Assistant(name: str = 'Ассистент без имени')
24    @abstractmethod
25    def __init__(self, name: str = "Ассистент без имени") -> None:
26        """Инициализирует базового ассистента.
27
28        Args:
29            name: Имя ассистента (по умолчанию "Ассистент без имени").
30        """
31        self.name: str = name

Инициализирует базового ассистента.

Args: name: Имя ассистента (по умолчанию "Ассистент без имени").

name: str
@abstractmethod
def run(self) -> None:
33    @abstractmethod
34    def run(self) -> None:
35        """Выполняет один цикл обработки состояний и функционала.
36
37        Должен быть переопределён в подклассе.
38        """
39        pass

Выполняет один цикл обработки состояний и функционала.

Должен быть переопределён в подклассе.