diff options
author | Sol Jerome <sol.jerome@gmail.com> | 2014-11-10 09:34:39 -0600 |
---|---|---|
committer | Sol Jerome <sol.jerome@gmail.com> | 2014-11-10 09:34:39 -0600 |
commit | f6b3d6dc89e4ba5c2ec643931394db45b8c7f176 (patch) | |
tree | daf3ca518bb1cfe78049a8b451ef2bd6635528cf /src | |
parent | 0bfc5a946a10712a5d82daa6ae0d1cd50fbb4ba8 (diff) | |
parent | 257eb0c174ef2fdaa2015975c5919979afa8da90 (diff) | |
download | bcfg2-f6b3d6dc89e4ba5c2ec643931394db45b8c7f176.tar.gz bcfg2-f6b3d6dc89e4ba5c2ec643931394db45b8c7f176.tar.bz2 bcfg2-f6b3d6dc89e4ba5c2ec643931394db45b8c7f176.zip |
Merge branch 'fix-django-db-options-parsing' into maint
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/Bcfg2/Options.py | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/src/lib/Bcfg2/Options.py b/src/lib/Bcfg2/Options.py index 9752ab758..652e216a5 100644 --- a/src/lib/Bcfg2/Options.py +++ b/src/lib/Bcfg2/Options.py @@ -1,14 +1,16 @@ """Option parsing library for utilities.""" +import ast import copy import getopt +import grp import inspect import os +import pwd import re import shlex import sys -import grp -import pwd + import Bcfg2.Client.Tools from Bcfg2.Compat import ConfigParser from Bcfg2.version import __version__ @@ -329,25 +331,9 @@ def colon_split(c_string): def dict_split(c_string): - """ split an option string on commas, optionally surrounded by - whitespace and split the resulting items again on equals signs, - returning a dict """ - result = dict() - if c_string: - items = re.split(r'\s*,\s*', c_string) - for item in items: - if r'=' in item: - key, value = item.split(r'=', 1) - try: - result[key] = get_bool(value) - except ValueError: - try: - result[key] = get_int(value) - except ValueError: - result[key] = value - else: - result[item] = True - return result + """ literally evaluate the option in order to allow for arbitrarily nested + dictionaries """ + return ast.literal_eval(c_string) def get_bool(val): |