changeset 137:c5ff16c66100

Support other interesting keys, too
author Stefano Rivera <stefano@rivera.za.net>
date Mon, 02 Sep 2013 18:00:52 +0200
parents 0280ee006d95
children 366b334a7018
files nagslang/tests/test_yamlish.py nagslang/yamlish.py
diffstat 2 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/nagslang/tests/test_yamlish.py	Mon Sep 02 17:58:35 2013 +0200
+++ b/nagslang/tests/test_yamlish.py	Mon Sep 02 18:00:52 2013 +0200
@@ -98,6 +98,14 @@
             3: ['baz', 'qux'],
         })
 
+    def test_dict_keys(self):
+        self.roundtrip({
+            True: 'true',
+            False: [],
+            None: {},
+            0.7: -0.7,
+        })
+
     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 17:58:35 2013 +0200
+++ b/nagslang/yamlish.py	Mon Sep 02 18:00:52 2013 +0200
@@ -64,7 +64,7 @@
     def _dump_dict_block(self, data, indent):
         output = []
         for k, v in sorted(data.iteritems()):
-            output.append('%s%s:' % (' ' * indent, k))
+            output.append('%s%s:' % (' ' * indent, self._dump_inline(k)))
             if self._inlineable(v):
                 output[-1] += ' ' + self._dump_inline(v)
             elif isinstance(v, dict):