Added plugin relay metaclass. /JL

This commit is contained in:
2024-07-17 18:23:00 +02:00
parent 64f5e4207e
commit 59fc0ef000
4 changed files with 27 additions and 2 deletions

View File

@@ -1 +1,2 @@
from . import plugin_init
from . import pluginlib_init
from . import pluginlib_relay

View File

@@ -1,3 +1,3 @@
[pluginlib]
build = 3
build = 5

View File

@@ -0,0 +1,24 @@
from abc import ABCMeta, abstractmethod
class RelayBase(metaclass=ABCMeta):
"""Base class for relay plugins"""
def __init__(self) -> None:
"""Define base attributes."""
self.connected = False
@abstractmethod
def disconnect(self) -> None:
"""Disconnects relay."""
@abstractmethod
def connect(self) -> None:
"""Connects relay."""
@abstractmethod
def reconnect(self, seconds: int) -> None:
"""Disconnects for specified time and reconnects.
Args:
seconds (int): Amount of time to sleep between disconnect and connect.
"""