mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-12-20 02:18:59 +00:00
* OS-Agent support * add agent to host feature * Add support for os-agent on devcontainer * Rename core * fix tests * add setter * add cgroup / apparmor * all interfaces added * fix import * Add tests * More tests * Finish tests * reformating xml files * fix doc string * address comments * change return value * fix tests * Update supervisor/dbus/agent/__init__.py Co-authored-by: Joakim Sørensen <joasoe@gmail.com> * Update scripts/supervisor.sh Co-authored-by: Joakim Sørensen <joasoe@gmail.com> Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
"""Evaluation class for systemd."""
|
|
from typing import List
|
|
|
|
from ...const import CoreState
|
|
from ...coresys import CoreSys
|
|
from ...host.const import HostFeature
|
|
from ..const import UnsupportedReason
|
|
from .base import EvaluateBase
|
|
|
|
|
|
def setup(coresys: CoreSys) -> EvaluateBase:
|
|
"""Initialize evaluation-setup function."""
|
|
return EvaluateSystemd(coresys)
|
|
|
|
|
|
class EvaluateSystemd(EvaluateBase):
|
|
"""Evaluate systemd."""
|
|
|
|
@property
|
|
def reason(self) -> UnsupportedReason:
|
|
"""Return a UnsupportedReason enum."""
|
|
return UnsupportedReason.SYSTEMD
|
|
|
|
@property
|
|
def on_failure(self) -> str:
|
|
"""Return a string that is printed when self.evaluate is False."""
|
|
return "Systemd is not correctly working"
|
|
|
|
@property
|
|
def states(self) -> List[CoreState]:
|
|
"""Return a list of valid states when this evaluation can run."""
|
|
return [CoreState.SETUP]
|
|
|
|
async def evaluate(self):
|
|
"""Run evaluation."""
|
|
return any(
|
|
feature not in self.sys_host.features
|
|
for feature in (
|
|
HostFeature.HOSTNAME,
|
|
HostFeature.SERVICES,
|
|
HostFeature.SHUTDOWN,
|
|
HostFeature.REBOOT,
|
|
)
|
|
)
|