From 34f8018a2763e10bbd89dd8109159c91036276d5 Mon Sep 17 00:00:00 2001 From: YS Date: Thu, 20 Jan 2022 15:29:44 +0300 Subject: [PATCH] fix validator tests --- frigate/config.py | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/frigate/config.py b/frigate/config.py index c6ec00298..022da59a3 100644 --- a/frigate/config.py +++ b/frigate/config.py @@ -408,28 +408,34 @@ class CameraGStreamerInput(CameraInput): ) -class CameraInputValidator: - @validator("inputs") - def validate_roles(cls, v): - roles = [role for i in v for role in i.roles] - roles_set = set(roles) +def validate_roles(cls, v): + roles = [role for i in v for role in i.roles] + roles_set = set(roles) - if len(roles) > len(roles_set): - raise ValueError("Each input role may only be used once.") + if len(roles) > len(roles_set): + raise ValueError("Each input role may only be used once.") - if not "detect" in roles: - raise ValueError("The detect role is required.") + if not "detect" in roles: + raise ValueError("The detect role is required.") - return v + return v -class CameraFfmpegConfig(FfmpegConfig, CameraInputValidator): +class CameraFfmpegConfig(FfmpegConfig): inputs: List[CameraFFmpegInput] = Field(title="Camera FFMpeg inputs.") + @validator("inputs") + def validate_roles(cls, v): + return validate_roles(cls, v) -class CameraGStreamerConfig(GstreamerConfig, CameraInputValidator): + +class CameraGStreamerConfig(GstreamerConfig): inputs: List[CameraGStreamerInput] = Field(title="Camera GStreamer inputs.") + @validator("inputs") + def validate_roles(cls, v): + return validate_roles(cls, v) + class SnapshotsConfig(FrigateBaseModel): enabled: bool = Field(default=False, title="Snapshots enabled.")