Hello list,
I'm currently working on a Pyramid-based website which, among other
things, federates under a common user interface (Bootstrap-based),
information coming from Sphinx, Doxygen and Buildbot.
- Sphinx is a document generator written in Python. The documentation is
generated as a collection of static files. At first, I considered
creating an ad hoc Sphinx (Jinja2) template to facilitate the
integration of HTML fragments into a Pyramid .mako template. But I found
it simpler to use the "pickle" export offered by Sphinx. The doc pages
are pickled as dictionaries, which can be used directly from my Mako
template. Problem solved
- Doxygen can generate the API documentation of a C Program as a
collection of static (HTML, ...) files. So, the situation is similar to
Sphinx, but HTML generation is not so customizable. For the moment, I'm
using a libxml2 parser via the lxml module to extract, on the fly, the
content of the <body> block, and inject it into a Mako template. Not
very efficient, but satisfactory.
- Now, about Buildbot: it's a continuous integration framework written
in Python. It uses Twisted.Web to display status information as web
pages. It also offers a basic JSON API. I see three ways I could
integrate Buildbot to my app :
1/ Use Pyramid as a web proxy, to get and process the Buildbot web pages
on the fly.
2/ Use the Buildbot JSON API inside Pyramid views, and present the
results via a Mako template.
3/ Take advantage from the fact that Buildbot is a python module, and
thus can expose its functionalities as a Python API. But the API is not
so well documented (use the Source, Luke)...
Choices 2/ and 3/ seem saner to me. 3/ is probably the cleaner, but 2/
seems easier. What would you choose?
Many thanks for your suggestions!
Laurent DAVERIO.