summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keystoneclient/__init__.py35
-rw-r--r--keystoneclient/shell.py5
-rw-r--r--setup.py3
3 files changed, 42 insertions, 1 deletions
diff --git a/keystoneclient/__init__.py b/keystoneclient/__init__.py
index e69de29..0b4062d 100644
--- a/keystoneclient/__init__.py
+++ b/keystoneclient/__init__.py
@@ -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()
diff --git a/keystoneclient/shell.py b/keystoneclient/shell.py
index 3deda8d..578c983 100644
--- a/keystoneclient/shell.py
+++ b/keystoneclient/shell.py
@@ -24,6 +24,7 @@ import httplib2
import os
import sys
+import keystoneclient
from keystoneclient import exceptions as exc
from keystoneclient import utils
from keystoneclient.v2_0 import shell as shell_v2_0
@@ -63,6 +64,10 @@ class OpenStackIdentityShell(object):
action='store_true',
help=argparse.SUPPRESS)
+ parser.add_argument('--version',
+ action='version',
+ version=keystoneclient.__version__)
+
parser.add_argument('--debug',
default=False,
action='store_true',
diff --git a/setup.py b/setup.py
index e46f99a..82ca730 100644
--- a/setup.py
+++ b/setup.py
@@ -41,5 +41,6 @@ setuptools.setup(
entry_points={
'console_scripts': ['keystone = keystoneclient.shell:main']
- }
+ },
+ data_files=[('keystoneclient', ['keystoneclient/versioninfo'])],
)