@@ -259,6 +259,11 @@ def _merge_schema(*schemas: dict) -> dict:
259259)
260260
261261
262+ ImageDescriptionFileSchemaValidator = jsonschema .Draft202012Validator (
263+ ImageDescriptionFileSchema
264+ )
265+
266+
262267VideoDescriptionFileSchema = _merge_schema (
263268 VideoDescriptionSchema ,
264269 {
@@ -295,6 +300,11 @@ def _merge_schema(*schemas: dict) -> dict:
295300)
296301
297302
303+ VideoDescriptionFileSchemaValidator = jsonschema .Draft202012Validator (
304+ VideoDescriptionFileSchema
305+ )
306+
307+
298308ImageVideoDescriptionFileSchema = {
299309 "oneOf" : [VideoDescriptionFileSchema , ImageDescriptionFileSchema ]
300310}
@@ -520,7 +530,7 @@ def parse_capture_time(time: str) -> datetime.datetime:
520530
521531def validate_image_desc (desc : T .Any ) -> None :
522532 try :
523- jsonschema .validate (instance = desc , schema = ImageDescriptionFileSchema )
533+ ImageDescriptionFileSchemaValidator .validate (desc )
524534 except jsonschema .ValidationError as ex :
525535 # do not use str(ex) which is more verbose
526536 raise exceptions .MapillaryMetadataValidationError (ex .message ) from ex
@@ -533,7 +543,7 @@ def validate_image_desc(desc: T.Any) -> None:
533543
534544def validate_video_desc (desc : T .Any ) -> None :
535545 try :
536- jsonschema .validate (instance = desc , schema = VideoDescriptionFileSchema )
546+ VideoDescriptionFileSchemaValidator .validate (desc )
537547 except jsonschema .ValidationError as ex :
538548 # do not use str(ex) which is more verbose
539549 raise exceptions .MapillaryMetadataValidationError (ex .message ) from ex
0 commit comments