diff options
author | keis <keijser@gmail.com> | 2011-01-15 22:16:42 +0100 |
---|---|---|
committer | keis <keijser@gmail.com> | 2011-02-15 21:17:16 +0100 |
commit | 713c9bb02b9bab9956f8e5439a0d47e7dedfaf24 (patch) | |
tree | 00329076d49966a0a2db6591751b06c7dd7a9c97 /examples/data/plugins/config.py | |
parent | 3d658d9c10809ec4ec76fb557535a2f6383cff45 (diff) |
grok quoted strings in a select places in the em
Diffstat (limited to 'examples/data/plugins/config.py')
-rw-r--r-- | examples/data/plugins/config.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/examples/data/plugins/config.py b/examples/data/plugins/config.py index ed2d761..dde4ae1 100644 --- a/examples/data/plugins/config.py +++ b/examples/data/plugins/config.py @@ -2,8 +2,16 @@ from re import compile from types import BooleanType from UserDict import DictMixin +_unquote = compile("'(.*?)'|\"(.*?)\"") +def unquote(s): + m = _unquote.match(s) + if m is not None: + return unicode(m.group(1)).decode('string_escape') + return unicode(s).decode('string_escape') + + valid_key = compile('^[A-Za-z0-9_\.]+$').match -types = {'int': int, 'float': float, 'str': unicode} +types = {'int': int, 'float': float, 'str': unquote} escape = lambda s: unicode(s).replace('\n', '\\n') class Config(DictMixin): |