Re: PyYAML - Help with redefining to_yaml and multiple documents
Sean <[email protected]>
| Newsgroups | gmane.text.yaml.general |
|---|---|
| Message-ID | <[email protected]> |
Thanks for your reply, Kirill. I guess what I am really looking for is a more detailed example of subclassing YAMLObject than what is available in the docs, to get a better idea of what I can do there. Thanks, Sean On Tue, Mar 16, 2010 at 12:08 PM, Kirill Simonov <[email protected]> wrote: > Sean wrote: > > >> >> I have a simple python class containing 2 dicts. I'd like to >> represent an instance of the class as two yaml documents, with the --- >> document start token separating the 2 dicts. I think I need to >> redefine to_yaml to do this, but I'm not really sure how to get both >> documents into the stream. >> >> import yaml >> class Info(yaml.YAMLObject): >> yaml_tag = u'Info' >> def __init__(self): >> self.firstDoc={1: 'one', 2: 'two', 3: 'three'} >> self.secondDoc={4: 'four', 5: 'five'} >> >> @classmethod >> def to_yaml(cls,dumper,data): >> return dumper.represent_mapping(tag=u'tag:yaml.org >> <http://yaml.org>, >> >> 2002:map',mapping=data.firstDoc) >> >> if __name__ == "__main__": >> print yaml.dump(Info(),default_flow_style=False) >> >> > You don't need to inherit your class from YAMLObject to do that. Just call > yaml.dump_all() and pass it a list of the dictionaries: > > info = Info() > print yaml.dump_all([info.firstDoc, info.secondDoc], > default_flow_style=False) > > > > Thanks, > Kirill > ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Yaml-core mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/yaml-core