From e2c2c8f544d880c36ff5e41bc82cc2f1f094f8b5 Mon Sep 17 00:00:00 2001 From: Keiran Price Date: Tue, 17 Sep 2019 09:25:27 +0100 Subject: [PATCH] #50: Create SwaggerSpec class --- src/swagger/swagger_generator.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/swagger/swagger_generator.py b/src/swagger/swagger_generator.py index fb14780e..8503e54e 100644 --- a/src/swagger/swagger_generator.py +++ b/src/swagger/swagger_generator.py @@ -190,6 +190,36 @@ def __init__(self, entity_name): } +class SwaggerSpecification(object): + def __init__(self): + self.paths = [] + self.top_part = { + 'openapi': "3.0.0", + "info": { + "title": "DataGateway API", + "description": "ICAT API to interface with the DataGateway", + "version": "0" + }, + "servers": [ + { + "url": "http://localhost:5000" + } + ], + "paths": {} + } + + def add_path(self, path): + self.paths.append(path) + + def get_spec_as_dict(self): + spec = {} + for path in self.paths: + self.top_part["paths"].update(path) + spec.update(self.top_part) + + return spec + + class SwaggerGenerator(object): FILE_PATH = Path.cwd() / "swagger" / "openapi.yaml"