From 25ad7d3ab1d8da1bdef5fb862fbc22ab9b92b7fc Mon Sep 17 00:00:00 2001 From: Peter Hamilton Date: Thu, 17 Sep 2015 14:32:14 -0400 Subject: [PATCH] Updating version handling This change updates how the library version number is dynamically loaded. It removes the use of exec in favor of a regular expression. --- kmip/__init__.py | 4 +++- setup.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/kmip/__init__.py b/kmip/__init__.py index 7d978e1..e8af528 100644 --- a/kmip/__init__.py +++ b/kmip/__init__.py @@ -15,13 +15,15 @@ import logging.config import os +import re import sys # Dynamically set __version__ version_path = os.path.join(os.path.dirname( os.path.realpath(__file__)), 'version.py') with open(version_path, 'r') as version_file: - exec(version_file.read()) + mo = re.search(r"^.*= '(\d\.\d\.\d)'$", version_file.read(), re.MULTILINE) + __version__ = mo.group(1) path = os.path.join(os.path.dirname(__file__), 'logconfig.ini') diff --git a/setup.py b/setup.py index a18acf2..e979d57 100644 --- a/setup.py +++ b/setup.py @@ -14,13 +14,15 @@ # limitations under the License. import os +import re import setuptools # Dynamically set __version__ version_path = os.path.join(os.path.dirname( os.path.realpath(__file__)), 'kmip', 'version.py') with open(version_path, 'r') as version_file: - exec(version_file.read()) + mo = re.search(r"^.*= '(\d\.\d\.\d)'$", version_file.read(), re.MULTILINE) + __version__ = mo.group(1) setuptools.setup( name='PyKMIP',