def registerValidators(self):
# TODO: Use JSON-LD for this?
contextObj = badgeanalysis.utils.try_json_load(self.context_json)
validators = contextObj.get('obi:validation')
if validators is not None and isinstance(validators, list):
for validator in validators:
validationSchema = validator.get('obi:validationSchema')
validatesType = validator.get('obi:validatesType')
schema_json = badgeanalysis.utils.try_json_load(badgeanalysis.utils.fetch_linked_component(validationSchema))
bsv = BadgeSchemaValidator(validation_schema=validationSchema, validates_type=validatesType, schema_json=schema_json, scheme=self) bsv.save()
elif isinstance(validators, dict):
bsv = BadgeSchemaValidator(self, validation_schema=validators.get('obi:validationSchema'), validates_type=validators.get('obi:validatesType'), scheme=self)
bsv.save()
Shoutout to Concentric Sky for making this code possible.