Add --version CLI opt and __version__ module attr

Change-Id: I8c39a797e79429dd21c5caf093b076a4b1757de0
This commit is contained in:
Brian Waldon
2012-11-27 11:46:26 -05:00
parent 66339b004a
commit 2eb5e2c2ab
3 changed files with 42 additions and 1 deletions

View File

@@ -0,0 +1,35 @@
# Copyright 2012 OpenStack LLC.
# 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.
import inspect
import os
def _get_client_version():
"""Read version from versioninfo file."""
mod_abspath = inspect.getabsfile(inspect.currentframe())
client_path = os.path.dirname(mod_abspath)
version_path = os.path.join(client_path, 'versioninfo')
if os.path.exists(version_path):
version = open(version_path).read().strip()
else:
version = "Unknown, couldn't find versioninfo file at %s"\
% version_path
return version
__version__ = _get_client_version()

View File

@@ -24,6 +24,7 @@ import httplib2
import os import os
import sys import sys
import keystoneclient
from keystoneclient import exceptions as exc from keystoneclient import exceptions as exc
from keystoneclient import utils from keystoneclient import utils
from keystoneclient.v2_0 import shell as shell_v2_0 from keystoneclient.v2_0 import shell as shell_v2_0
@@ -63,6 +64,10 @@ class OpenStackIdentityShell(object):
action='store_true', action='store_true',
help=argparse.SUPPRESS) help=argparse.SUPPRESS)
parser.add_argument('--version',
action='version',
version=keystoneclient.__version__)
parser.add_argument('--debug', parser.add_argument('--debug',
default=False, default=False,
action='store_true', action='store_true',

View File

@@ -41,5 +41,6 @@ setuptools.setup(
entry_points={ entry_points={
'console_scripts': ['keystone = keystoneclient.shell:main'] 'console_scripts': ['keystone = keystoneclient.shell:main']
} },
data_files=[('keystoneclient', ['keystoneclient/versioninfo'])],
) )