summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Fenn <michaelfenn87@gmail.com>2015-03-19 15:10:44 -0400
committerMichael Fenn <michaelfenn87@gmail.com>2015-03-19 15:10:44 -0400
commit16d3e04cb80a975eef0e0ad6f0f6dc4800860d3c (patch)
tree3ca0eee8c3ebb3c47e96acf59171fe3784cf2752 /src
parentc8863b9a2dadacdacf433cbb818735c32e8f83a8 (diff)
downloadbcfg2-16d3e04cb80a975eef0e0ad6f0f6dc4800860d3c.tar.gz
bcfg2-16d3e04cb80a975eef0e0ad6f0f6dc4800860d3c.tar.bz2
bcfg2-16d3e04cb80a975eef0e0ad6f0f6dc4800860d3c.zip
compat: use eval instead of ast.literal_eval on python 2.4
Diffstat (limited to 'src')
-rw-r--r--src/lib/Bcfg2/Compat.py6
-rw-r--r--src/lib/Bcfg2/Options.py4
2 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/Bcfg2/Compat.py b/src/lib/Bcfg2/Compat.py
index b8a75a0c5..1c2420ccf 100644
--- a/src/lib/Bcfg2/Compat.py
+++ b/src/lib/Bcfg2/Compat.py
@@ -286,3 +286,9 @@ except NameError:
def cmp(a, b):
""" Py3k implementation of cmp() """
return (a > b) - (a < b)
+
+# ast was introduced in python 2.6
+try:
+ from ast import literal_eval
+except ImportError:
+ literal_eval = eval
diff --git a/src/lib/Bcfg2/Options.py b/src/lib/Bcfg2/Options.py
index fdc34eb95..5653b29e5 100644
--- a/src/lib/Bcfg2/Options.py
+++ b/src/lib/Bcfg2/Options.py
@@ -1,6 +1,5 @@
"""Option parsing library for utilities."""
-import ast
import copy
import getopt
import grp
@@ -13,6 +12,7 @@ import sys
import Bcfg2.Client.Tools
from Bcfg2.Compat import ConfigParser
+from Bcfg2.Compat import literal_eval
from Bcfg2.version import __version__
@@ -333,7 +333,7 @@ def colon_split(c_string):
def dict_split(c_string):
""" literally evaluate the option in order to allow for arbitrarily nested
dictionaries """
- return ast.literal_eval(c_string)
+ return literal_eval(c_string)
def get_bool(val):