Mercurial > nagslang
changeset 136:0280ee006d95
Support integer dict keys
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Mon, 02 Sep 2013 17:58:35 +0200 |
parents | c9b6685ebebf |
children | c5ff16c66100 |
files | nagslang/tests/test_yamlish.py nagslang/yamlish.py |
diffstat | 2 files changed, 11 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/nagslang/tests/test_yamlish.py Mon Sep 02 18:19:57 2013 +0200 +++ b/nagslang/tests/test_yamlish.py Mon Sep 02 17:58:35 2013 +0200 @@ -91,6 +91,13 @@ ], }) + def test_int_dict(self): + self.roundtrip({ + 1: 'foo', + 2: 'bar', + 3: ['baz', 'qux'], + }) + def test_quoted(self): # a literal true is True, but 'true' is a string self.roundtrip({'foo': 'true'})
--- a/nagslang/yamlish.py Mon Sep 02 18:19:57 2013 +0200 +++ b/nagslang/yamlish.py Mon Sep 02 17:58:35 2013 +0200 @@ -6,7 +6,7 @@ * single line strings, * ints, floats, * True, False, and None -dict keys can only be strings. +dict keys can only be scalar. ''' import re @@ -211,9 +211,11 @@ if dm: key, value = dm.groups() + key = self._parse_value(key) assert self._in_dict if value: - self._container[key] = self._parse_value(value) + value = self._parse_value(value) + self._container[key] = value else: self._parent_key = key