summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--heatclient/__init__.py19
-rw-r--r--heatclient/shell.py10
2 files changed, 10 insertions, 19 deletions
diff --git a/heatclient/__init__.py b/heatclient/__init__.py
index 09d0195..e589bb4 100644
--- a/heatclient/__init__.py
+++ b/heatclient/__init__.py
@@ -9,23 +9,8 @@
# 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
+import pbr.version
-def _get_heatclient_version():
- """Read version from versioninfo file."""
- mod_abspath = inspect.getabsfile(inspect.currentframe())
- heatclient_path = os.path.dirname(mod_abspath)
- version_path = os.path.join(heatclient_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_heatclient_version()
+__version__ = pbr.version.VersionInfo('python-heatclient').version_string()
diff --git a/heatclient/shell.py b/heatclient/shell.py
index 429b28e..3aa0e1a 100644
--- a/heatclient/shell.py
+++ b/heatclient/shell.py
@@ -21,7 +21,8 @@ import sys
from keystoneclient.v2_0 import client as ksclient
-from heatclient import client as heatclient
+import heatclient
+from heatclient import client as heat_client
from heatclient.common import utils
from heatclient import exc
@@ -45,6 +46,11 @@ class HeatShell(object):
action='store_true',
help=argparse.SUPPRESS)
+ parser.add_argument('--version',
+ action='version',
+ version=heatclient.__version__,
+ help="Shows the client version and exits")
+
parser.add_argument('-d', '--debug',
default=bool(utils.env('HEATCLIENT_DEBUG')),
action='store_true',
@@ -328,7 +334,7 @@ class HeatShell(object):
if not endpoint:
endpoint = self._get_endpoint(_ksclient, **kwargs)
- client = heatclient.Client(api_version, endpoint, **kwargs)
+ client = heat_client.Client(api_version, endpoint, **kwargs)
args.func(client, args)