Mercurial > nagslang
comparison nagslang/yamlish.py @ 344:1d73867becbe
Allow tuples in dicts
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Fri, 06 Sep 2013 13:38:07 +0200 |
parents | 076448ba0582 |
children | a106d7e1415b |
comparison
equal
deleted
inserted
replaced
343:e5f525c87eb9 | 344:1d73867becbe |
---|---|
69 output.append('%s%s:' % (' ' * indent, self._dump_inline(k))) | 69 output.append('%s%s:' % (' ' * indent, self._dump_inline(k))) |
70 if self._inlineable(v): | 70 if self._inlineable(v): |
71 output[-1] += ' ' + self._dump_inline(v) | 71 output[-1] += ' ' + self._dump_inline(v) |
72 elif isinstance(v, dict): | 72 elif isinstance(v, dict): |
73 output += self._dump_block(v, indent + 2) | 73 output += self._dump_block(v, indent + 2) |
74 elif isinstance(v, list): | 74 elif isinstance(v, (list, tuple)): |
75 output += self._dump_block(v, indent) | 75 output += self._dump_block(v, indent) |
76 else: | 76 else: |
77 raise NotImplementedError() | 77 raise NotImplementedError("Cannot dump %r", data) |
78 return output | 78 return output |
79 | 79 |
80 def _inlineable(self, data): | 80 def _inlineable(self, data): |
81 if isinstance(data, (list, tuple)): | 81 if isinstance(data, (list, tuple)): |
82 return all(not isinstance(item, (list, dict, tuple)) | 82 return all(not isinstance(item, (list, dict, tuple)) |