diff --git a/setup.py b/setup.py index 85159ee8e..200196eea 100644 --- a/setup.py +++ b/setup.py @@ -37,6 +37,7 @@ setup( "supervisor.api", "supervisor.misc", "supervisor.utils", + "supervisor.plugins", "supervisor.snapshots", ], include_package_data=True, diff --git a/supervisor/bootstrap.py b/supervisor/bootstrap.py index 6c23e68e2..2e49ff451 100644 --- a/supervisor/bootstrap.py +++ b/supervisor/bootstrap.py @@ -11,7 +11,6 @@ from .addons import AddonManager from .api import RestAPI from .arch import CpuArch from .auth import Auth -from .audio import Audio from .const import ( SOCKET_DOCKER, UpdateChannels, @@ -21,11 +20,9 @@ from .const import ( ENV_SUPERVISOR_MACHINE, ) from .core import Core -from .cli import HaCli from .coresys import CoreSys from .dbus import DBusManager from .discovery import Discovery -from .dns import CoreDNS from .hassos import HassOS from .homeassistant import HomeAssistant from .host import HostManager @@ -39,6 +36,9 @@ from .tasks import Tasks from .updater import Updater from .secrets import SecretsManager from .utils.dt import fetch_timezone +from .plugins.dns import CoreDNS +from .plugins.cli import HaCli +from .plugins.audio import Audio _LOGGER: logging.Logger = logging.getLogger(__name__) diff --git a/supervisor/coresys.py b/supervisor/coresys.py index 510e6ff70..b80c069e5 100644 --- a/supervisor/coresys.py +++ b/supervisor/coresys.py @@ -15,13 +15,10 @@ if TYPE_CHECKING: from .addons import AddonManager from .api import RestAPI from .arch import CpuArch - from .audio import Audio from .auth import Auth from .core import Core - from .cli import HaCli from .dbus import DBusManager from .discovery import Discovery - from .dns import CoreDNS from .hassos import HassOS from .hwmon import HwMonitor from .homeassistant import HomeAssistant @@ -34,6 +31,9 @@ if TYPE_CHECKING: from .store import StoreManager from .tasks import Tasks from .updater import Updater + from .plugins.cli import HaCli + from .plugins.audio import Audio + from .plugins.dns import CoreDNS class CoreSys: diff --git a/supervisor/plugins/__init__.py b/supervisor/plugins/__init__.py new file mode 100644 index 000000000..d2cffc4d9 --- /dev/null +++ b/supervisor/plugins/__init__.py @@ -0,0 +1 @@ +"""Plugin for Supervisor backend.""" diff --git a/supervisor/audio.py b/supervisor/plugins/audio.py similarity index 95% rename from supervisor/audio.py rename to supervisor/plugins/audio.py index d98c740d4..1cd68a099 100644 --- a/supervisor/audio.py +++ b/supervisor/plugins/audio.py @@ -8,13 +8,13 @@ from typing import Awaitable, Optional import jinja2 -from .const import ATTR_IMAGE, ATTR_VERSION, FILE_HASSIO_AUDIO -from .coresys import CoreSys, CoreSysAttributes -from .docker.audio import DockerAudio -from .docker.stats import DockerStats -from .exceptions import AudioError, AudioUpdateError, DockerAPIError -from .utils.json import JsonConfig -from .validate import SCHEMA_AUDIO_CONFIG +from ..const import ATTR_IMAGE, ATTR_VERSION, FILE_HASSIO_AUDIO +from ..coresys import CoreSys, CoreSysAttributes +from ..docker.audio import DockerAudio +from ..docker.stats import DockerStats +from ..exceptions import AudioError, AudioUpdateError, DockerAPIError +from ..utils.json import JsonConfig +from ..validate import SCHEMA_AUDIO_CONFIG _LOGGER: logging.Logger = logging.getLogger(__name__) diff --git a/supervisor/cli.py b/supervisor/plugins/cli.py similarity index 94% rename from supervisor/cli.py rename to supervisor/plugins/cli.py index af7171166..4d7e1fdc7 100644 --- a/supervisor/cli.py +++ b/supervisor/plugins/cli.py @@ -5,13 +5,13 @@ import logging import secrets from typing import Awaitable, Optional -from .const import ATTR_ACCESS_TOKEN, ATTR_IMAGE, ATTR_VERSION, FILE_HASSIO_CLI -from .coresys import CoreSys, CoreSysAttributes -from .docker.cli import DockerCli -from .docker.stats import DockerStats -from .exceptions import CliError, CliUpdateError, DockerAPIError -from .utils.json import JsonConfig -from .validate import SCHEMA_CLI_CONFIG +from ..const import ATTR_ACCESS_TOKEN, ATTR_IMAGE, ATTR_VERSION, FILE_HASSIO_CLI +from ..coresys import CoreSys, CoreSysAttributes +from ..docker.cli import DockerCli +from ..docker.stats import DockerStats +from ..exceptions import CliError, CliUpdateError, DockerAPIError +from ..utils.json import JsonConfig +from ..validate import SCHEMA_CLI_CONFIG _LOGGER: logging.Logger = logging.getLogger(__name__) diff --git a/supervisor/dns.py b/supervisor/plugins/dns.py similarity index 96% rename from supervisor/dns.py rename to supervisor/plugins/dns.py index 8cadde70a..c6e9ec30b 100644 --- a/supervisor/dns.py +++ b/supervisor/plugins/dns.py @@ -10,14 +10,14 @@ import attr import jinja2 import voluptuous as vol -from .const import ATTR_IMAGE, ATTR_SERVERS, ATTR_VERSION, DNS_SUFFIX, FILE_HASSIO_DNS -from .coresys import CoreSys, CoreSysAttributes -from .docker.dns import DockerDNS -from .docker.stats import DockerStats -from .exceptions import CoreDNSError, CoreDNSUpdateError, DockerAPIError -from .misc.forwarder import DNSForward -from .utils.json import JsonConfig -from .validate import SCHEMA_DNS_CONFIG, dns_url +from ..const import ATTR_IMAGE, ATTR_SERVERS, ATTR_VERSION, DNS_SUFFIX, FILE_HASSIO_DNS +from ..coresys import CoreSys, CoreSysAttributes +from ..docker.dns import DockerDNS +from ..docker.stats import DockerStats +from ..exceptions import CoreDNSError, CoreDNSUpdateError, DockerAPIError +from ..misc.forwarder import DNSForward +from ..utils.json import JsonConfig +from ..validate import SCHEMA_DNS_CONFIG, dns_url _LOGGER: logging.Logger = logging.getLogger(__name__)