mirror of
https://github.com/GNS3/gns3-registry.git
synced 2024-12-18 20:37:57 +00:00
Use additionalProperties = False only during the validation. Fixes #538
This commit is contained in:
parent
99878a86b7
commit
ff58d86256
17
check.py
17
check.py
@ -29,6 +29,18 @@ SCHEMA_VERSIONS = [3, 4, 5, 6]
|
||||
|
||||
warnings = 0
|
||||
|
||||
|
||||
def no_additional_properties(schema):
|
||||
if 'items' in schema:
|
||||
schema = schema['items']
|
||||
if 'properties' in schema:
|
||||
if 'additionalProperties' not in schema:
|
||||
schema['additionalProperties'] = False
|
||||
for key in schema['properties']:
|
||||
if isinstance(schema['properties'][key], dict):
|
||||
no_additional_properties(schema['properties'][key])
|
||||
|
||||
|
||||
def validate_schema(appliance_json, name, schemas):
|
||||
global warnings
|
||||
|
||||
@ -51,13 +63,11 @@ def validate_schema(appliance_json, name, schemas):
|
||||
pass
|
||||
|
||||
|
||||
|
||||
def signal_abort(sig, frame):
|
||||
print('\n\n=> Check aborted\n')
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
|
||||
def check_appliance(appliance):
|
||||
global warnings
|
||||
images = {}
|
||||
@ -68,6 +78,7 @@ def check_appliance(appliance):
|
||||
schema_filename = "schemas/appliance_v{}.json".format(version)
|
||||
with open(schema_filename) as f:
|
||||
schemas[version] = json.load(f)
|
||||
no_additional_properties(schemas[version])
|
||||
|
||||
with open(os.path.join('appliances', appliance)) as f:
|
||||
appliance_json = json.load(f)
|
||||
@ -124,6 +135,7 @@ def image_get_height(filename):
|
||||
|
||||
use_imagemagick = shutil.which("identify")
|
||||
|
||||
|
||||
def check_symbol(symbol):
|
||||
licence_file = os.path.join('symbols', symbol.replace('.svg', '.txt'))
|
||||
if not os.path.exists(licence_file):
|
||||
@ -159,5 +171,6 @@ def main():
|
||||
else:
|
||||
print("Everything is ok!")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
Loading…
Reference in New Issue
Block a user