summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>2015-01-21 15:28:32 -0500
committerBarry Warsaw <barry@python.org>2015-01-21 15:28:32 -0500
commit463d626ba53e54160f350d84831e1877b24f4024 (patch)
treee13078db48bf17c062ced1ce1feed78ddd3a9da0
parentee4a174e2e3b3268ef95485b99d81edea1ca3458 (diff)
downloadvyos-cloud-init-463d626ba53e54160f350d84831e1877b24f4024.tar.gz
vyos-cloud-init-463d626ba53e54160f350d84831e1877b24f4024.zip
Only install cheetah (and only run the cheetah templating test) when in Python
2. Cheetah is not compatible with Python 3.
-rw-r--r--requirements.txt4
-rwxr-xr-xsetup.py7
-rw-r--r--tests/unittests/test_templating.py4
3 files changed, 13 insertions, 2 deletions
diff --git a/requirements.txt b/requirements.txt
index 943dbef7..2a12ca3e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,7 +1,6 @@
# Pypi requirements for cloud-init to work
# Used for untemplating any files or strings with parameters.
-cheetah
jinja2
# This is used for any pretty printing of tabular data.
@@ -32,3 +31,6 @@ requests
# For patching pieces of cloud-config together
jsonpatch
+
+# For Python 2/3 compatibility
+six
diff --git a/setup.py b/setup.py
index 507d5b25..e88d9e88 100755
--- a/setup.py
+++ b/setup.py
@@ -175,6 +175,11 @@ else:
}
+requirements = read_requires()
+if sys.version_info < (3,):
+ requirements.append('cheetah')
+
+
setuptools.setup(name='cloud-init',
version=get_version(),
description='EC2 initialisation magic',
@@ -187,6 +192,6 @@ setuptools.setup(name='cloud-init',
],
license='GPLv3',
data_files=data_files,
- install_requires=read_requires(),
+ install_requires=requirements,
cmdclass=cmdclass,
)
diff --git a/tests/unittests/test_templating.py b/tests/unittests/test_templating.py
index 3ba4ed8a..957467f6 100644
--- a/tests/unittests/test_templating.py
+++ b/tests/unittests/test_templating.py
@@ -16,6 +16,9 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+import six
+import unittest
+
from . import helpers as test_helpers
import textwrap
@@ -38,6 +41,7 @@ class TestTemplates(test_helpers.TestCase):
out_data = templater.basic_render(in_data, {'b': 2})
self.assertEqual(expected_data.strip(), out_data)
+ @unittest.skipIf(six.PY3, 'Cheetah is not compatible with Python 3')
def test_detection(self):
blob = "## template:cheetah"