= Syck Patches = All patches are against revision 231 of syck: http://code.whytheluckystiff.net/svn/syck/trunk It appears that both of these patches have been accepted into trunk as of revision 233. == Complex Keys == Problems: {{{ #!python >>> # key: empty collection ... print syck.emit(syck.Map({syck.Map(): syck.Scalar('foo')})) --- {} : foo >>> # key: collection with tag ... print syck.emit(syck.Map({syck.Seq([syck.Scalar('foo')], ... tag='x-private:key'): syck.Scalar('bar')})) --- !!key ? - foo : bar >>> # key: empty collection with alias ... node = syck.Map() >>> print syck.emit(syck.Map({node: node})) --- &id001 {} : *id001 >>> # key: scalar with alias ... node = syck.Scalar('foo', tag='x-private:bug') >>> print syck.emit(syck.Map({node: node})) --- &id001 ? !!bug foo : *id001 >>> # key: flow collection ... # the output is correct, but syck parser cannot parse it ... print syck.emit(syck.Map({syck.Seq([syck.Scalar('foo')], ... inline=True): syck.Scalar('bar')})) --- [foo]: bar }}} == Ordered Maps in Flow Style == Before patching: {{{ #!python >>> syck.load('[foo: bar, baz: bat]\n') Traceback (most recent call last): File "", line 1, in ? File "syck/loaders.py", line 391, in load return loader.load() File "syck/loaders.py", line 42, in load node = self.parse() _syck.error: ('syntax error', 0, 15) }}} After patching: {{{ #!python >>> syck.load('[foo: bar, baz: bat]\n') [{'foo': 'bar'}, {'baz': 'bat'}] }}}