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: Имя ассистента (по умолчанию "Ассистент без имени").