ensure zones dont have the same name as a camera

This commit is contained in:
Blake Blackshear
2020-11-29 19:00:46 -06:00
parent d62aec7287
commit 117569830d
2 changed files with 41 additions and 2 deletions

View File

@@ -144,7 +144,14 @@ CAMERA_FFMPEG_SCHEMA = vol.Schema(
}
)
CAMERAS_SCHEMA = vol.Schema(
def ensure_zones_and_cameras_have_different_names(cameras):
zones = [zone for camera in cameras.values() for zone in camera['zones'].keys()]
for zone in zones:
if zone in cameras.keys():
raise ValueError
return cameras
CAMERAS_SCHEMA = vol.Schema(vol.All(
{
str: {
vol.Required('ffmpeg'): CAMERA_FFMPEG_SCHEMA,
@@ -177,7 +184,7 @@ CAMERAS_SCHEMA = vol.Schema(
},
'objects': OBJECTS_SCHEMA
}
}
}, vol.Msg(ensure_zones_and_cameras_have_different_names, msg='Zones cannot share names with cameras'))
)
FRIGATE_CONFIG_SCHEMA = vol.Schema(