fix: normalize unicode escape sequences and reformat multi-line expressions across codebase
This commit is contained in:
+49
-14
@@ -11,8 +11,19 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class ConfigField:
|
||||
def __init__(self, key, label, type="str", default="", help="",
|
||||
options=None, secret=False, minimum=None, maximum=None, group="General"):
|
||||
def __init__(
|
||||
self,
|
||||
key,
|
||||
label,
|
||||
type="str",
|
||||
default="",
|
||||
help="",
|
||||
options=None,
|
||||
secret=False,
|
||||
minimum=None,
|
||||
maximum=None,
|
||||
group="General",
|
||||
):
|
||||
self.key = key
|
||||
self.label = label
|
||||
self.type = type
|
||||
@@ -131,22 +142,40 @@ class BaseService(ABC):
|
||||
self._last_command = None
|
||||
self._last_persist = None
|
||||
self.enabled_field = ConfigField(
|
||||
self.enabled_key, "Enabled", type="bool", default=self.default_enabled,
|
||||
self.enabled_key,
|
||||
"Enabled",
|
||||
type="bool",
|
||||
default=self.default_enabled,
|
||||
help="When enabled the service runs on its interval and starts on boot.",
|
||||
group="General")
|
||||
group="General",
|
||||
)
|
||||
self.interval_field = ConfigField(
|
||||
self.interval_key, "Run interval (seconds)", type="int",
|
||||
default=interval_seconds, minimum=self.min_interval,
|
||||
self.interval_key,
|
||||
"Run interval (seconds)",
|
||||
type="int",
|
||||
default=interval_seconds,
|
||||
minimum=self.min_interval,
|
||||
help=f"Delay between runs. Minimum {self.min_interval} seconds.",
|
||||
group="General")
|
||||
group="General",
|
||||
)
|
||||
self.log_size_field = ConfigField(
|
||||
self.log_size_key, "Log buffer size", type="int",
|
||||
default=self.DEFAULT_LOG_SIZE, minimum=1, maximum=200,
|
||||
self.log_size_key,
|
||||
"Log buffer size",
|
||||
type="int",
|
||||
default=self.DEFAULT_LOG_SIZE,
|
||||
minimum=1,
|
||||
maximum=200,
|
||||
help="Number of recent log lines to keep.",
|
||||
group="Advanced")
|
||||
group="Advanced",
|
||||
)
|
||||
|
||||
def all_fields(self) -> list:
|
||||
return [self.enabled_field, self.interval_field, *self.config_fields, self.log_size_field]
|
||||
return [
|
||||
self.enabled_field,
|
||||
self.interval_field,
|
||||
*self.config_fields,
|
||||
self.log_size_field,
|
||||
]
|
||||
|
||||
def _grouped_fields(self) -> list:
|
||||
groups: dict = {}
|
||||
@@ -165,10 +194,14 @@ class BaseService(ABC):
|
||||
return "running" if self._running else "stopped"
|
||||
|
||||
def is_enabled(self) -> bool:
|
||||
return get_setting(self.enabled_key, "1" if self.default_enabled else "0") == "1"
|
||||
return (
|
||||
get_setting(self.enabled_key, "1" if self.default_enabled else "0") == "1"
|
||||
)
|
||||
|
||||
def current_interval(self) -> int:
|
||||
return max(self.min_interval, get_int_setting(self.interval_key, self.interval_seconds))
|
||||
return max(
|
||||
self.min_interval, get_int_setting(self.interval_key, self.interval_seconds)
|
||||
)
|
||||
|
||||
def get_config(self) -> dict:
|
||||
return {field.key: field.read() for field in self.all_fields()}
|
||||
@@ -269,7 +302,9 @@ class BaseService(ABC):
|
||||
except Exception as e:
|
||||
self.log(f"Error in run_once: {e}")
|
||||
self.interval_seconds = self.current_interval()
|
||||
self._next_due = datetime.now(timezone.utc) + timedelta(seconds=self.interval_seconds)
|
||||
self._next_due = datetime.now(timezone.utc) + timedelta(
|
||||
seconds=self.interval_seconds
|
||||
)
|
||||
self._next_run = self._next_due.isoformat()
|
||||
self.log(f"Next run in {self.interval_seconds}s")
|
||||
self._persist_state(force=True)
|
||||
|
||||
Reference in New Issue
Block a user