Skip to content

Commit bd50f78

Browse files
authored
Merge pull request #111 from guokr/valiate
validate swagger
2 parents 155d7ff + 7dc26d3 commit bd50f78

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ click
44
jinja2
55
dpath
66
PyYAML
7+
flex

swagger_py_codegen/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
"""Version information."""
22

33
# The following line *must* be the last in the module, exactly as formatted:
4-
__version__ = "0.3.0"
4+
__version__ = "0.3.1"

swagger_py_codegen/command.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
import yaml
1313
import click
1414

15+
import flex
16+
from flex.exceptions import ValidationError
17+
1518
from ._version import __version__
1619
from .flask import FlaskGenerator
1720
from .tornado import TornadoGenerator
@@ -101,6 +104,9 @@ def print_version(ctx, param, value):
101104
@click.option('--ui',
102105
default=False, is_flag=True,
103106
help='Generate swagger ui.')
107+
@click.option('--validate',
108+
default=False, is_flag=True,
109+
help='Generate swagger ui.')
104110
@click.option('-tlp', '--templates',
105111
default='flask',
106112
help='gen flask/tornado/falcon/sanic templates, default flask.')
@@ -109,9 +115,15 @@ def print_version(ctx, param, value):
109115
help='Show current version.')
110116
def generate(destination, swagger_doc, force=False, package=None,
111117
template_dir=None, templates='flask',
112-
specification=False, ui=False):
118+
specification=False, ui=False, validate=False):
113119
package = package or destination.replace('-', '_')
114120
data = spec_load(swagger_doc)
121+
if validate:
122+
try:
123+
flex.core.parse(data)
124+
click.echo("Validation passed")
125+
except ValidationError as e:
126+
raise click.ClickException(str(e))
115127
swagger = Swagger(data)
116128
if templates == 'tornado':
117129
generator = TornadoGenerator(swagger)

0 commit comments

Comments
 (0)