From 324962def57bfcf06fe8da23912cc13524844178 Mon Sep 17 00:00:00 2001 From: Julien Duponchelle Date: Mon, 22 Aug 2016 10:31:57 +0200 Subject: [PATCH] You can validate a topology from command line --- gns3server/schemas/topology.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/gns3server/schemas/topology.py b/gns3server/schemas/topology.py index f3b76e2eb..53b267387 100644 --- a/gns3server/schemas/topology.py +++ b/gns3server/schemas/topology.py @@ -19,10 +19,10 @@ # This file contains the validation for checking a .gns3 file # -from .compute import COMPUTE_OBJECT_SCHEMA -from .drawing import DRAWING_OBJECT_SCHEMA -from .link import LINK_OBJECT_SCHEMA -from .node import NODE_OBJECT_SCHEMA +from gns3server.schemas.compute import COMPUTE_OBJECT_SCHEMA +from gns3server.schemas.drawing import DRAWING_OBJECT_SCHEMA +from gns3server.schemas.link import LINK_OBJECT_SCHEMA +from gns3server.schemas.node import NODE_OBJECT_SCHEMA TOPOLOGY_SCHEMA = { @@ -99,3 +99,14 @@ TOPOLOGY_SCHEMA = { ], "additionalProperties": False } + +def main(): + import jsonschema + import sys + + with open(sys.argv[1]) as f: + jsonschema.validate(f.read(), TOPOLOGY_SCHEMA) + + +if __name__ == '__main__': + main()