Skip to content

Commit 53231ec

Browse files
committed
[Add] version command option
1 parent 206e44d commit 53231ec

File tree

4 files changed

+17
-3
lines changed

4 files changed

+17
-3
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
_version_re = re.compile(r'__version__\s+=\s+(.*)')
77

8-
with open('swagger_py_codegen/__init__.py', 'rb') as f:
8+
with open('swagger_py_codegen/_version.py', 'rb') as f:
99
version = str(ast.literal_eval(_version_re.search(
1010
f.read().decode('utf-8')).group(1)))
1111

swagger_py_codegen/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from __future__ import absolute_import
22

3+
from ._version import __version__
34
from .command import generate
4-
5-
__version__ = '0.2.2'

swagger_py_codegen/_version.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
"""Version information."""
2+
3+
# The following line *must* be the last in the module, exactly as formatted:
4+
__version__ = "0.2.2"

swagger_py_codegen/command.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import yaml
1212
import click
1313

14+
from ._version import __version__
1415
from .flask import FlaskGenerator
1516
from .parser import Swagger
1617
from .base import Template
@@ -55,6 +56,13 @@ def _copy_ui_dir(ui_dest, ui_src):
5556
return status
5657

5758

59+
def print_version(ctx, param, value):
60+
if not value or ctx.resilient_parsing:
61+
return
62+
click.echo('current version: %s' % __version__)
63+
ctx.exit()
64+
65+
5866
@click.command()
5967
@click.argument('destination', required=True)
6068
@click.option('-s', '--swagger', '--swagger-doc',
@@ -73,6 +81,9 @@ def _copy_ui_dir(ui_dest, ui_src):
7381
help='Generate swagger ui.')
7482
@click.option('-j', '--jobs',
7583
default=4, help='Parallel jobs for processing.')
84+
@click.option('--version', is_flag=True, callback=print_version,
85+
expose_value=False, is_eager=True,
86+
help='Show current version.')
7687
def generate(destination, swagger_doc, force=False, package=None,
7788
template_dir=None, specification=False, ui=False, jobs=4):
7889
pool = Pool(processes=int(jobs))

0 commit comments

Comments
 (0)