diff --git a/doc8/main.py b/doc8/main.py index 13d3ca5..1ab1011 100644 --- a/doc8/main.py +++ b/doc8/main.py @@ -47,6 +47,7 @@ from stevedore import extension from doc8 import checks from doc8 import parser as file_parser from doc8 import utils +from doc8 import version FILE_PATTERNS = ['.rst', '.txt'] MAX_LINE_LENGTH = 79 @@ -186,7 +187,12 @@ def main(): default=[]) parser.add_argument("-v", "--verbose", dest="verbose", action='store_true', help="run in verbose mode", default=False) + parser.add_argument("--version", dest="version", action='store_true', + help="show the version and exit", default=False) args = vars(parser.parse_args()) + if args.get('version'): + print(version.version_string()) + return 0 args['ignore'] = merge_sets(args['ignore']) cfg = extract_config(args) args['ignore'].update(cfg.pop("ignore", set())) diff --git a/doc8/version.py b/doc8/version.py new file mode 100644 index 0000000..6e33c88 --- /dev/null +++ b/doc8/version.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- + +# Copyright (C) 2014 Yahoo! Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +try: + from pbr import version as pbr_version + _version_info = pbr_version.VersionInfo('doc8') + version_string = _version_info.version_string +except ImportError: + import pkg_resources + _version_info = pkg_resources.get_distribution('doc8') + version_string = lambda: _version_info.version