rst2atom is exactly what you think. It uses gdata.atom.data structures to build the XML.
The package should be considered highly experimental until I learned more about XML Atom and docutils or someone else contributes to the project.
pip install rst2atom
or download the source package and type:
python setup.py install
rst2atom extends the standard html writer. Write documents as usual and don't forget to add bibliographic elements like author, date and category (not implemented yet).
Here the classic hello world example:
Hello world =========== asdfasdfadf .. sourcecode:: python def print_(obj): print obj asdasdf
Try it with livejournal:
$ rst2atom test.rst test.xml $ curl -d @test.xml --digest -u <YOUR_USERNAME_HERE> -H \ "Content-Type: application/atom+xml;type=entry" -v \ http://www.livejournal.com/interface/atom/post
rst2atom suppose that there is just one entry for feed, maybe this behavior could change in the future but that is it so it sets entry's field instead of feed's fields.
For the moment just the following directives are understood by rst2atom:
- This field sets the entry author if is child of docinfo. If it is child of authors add a contributor.
- The contact field sets the email of the author if the node parent is author, else if at least one contributor is given, sets its email.
- This sets the updated attribute.
- Sets the rights attribute.