Python/HTML integration: phileas v0.3 released
J Kenneth King
james at agentultra.com
Mon Nov 23 16:37:36 CET 2009
papa hippo <hippostech at gmail.com> writes:
> On 20 nov, 09:02, Stefan Behnel <stefan... at behnel.de> wrote:
>> papa hippo, 19.11.2009 19:53:
>> > The prime goal of 'phileas' is to enable html code to be seamlessly
>> > included in python code in a natural looking syntax, without resorting
>> > to templatng language.
>> I assume you know XIST, ElementTree's ElementMaker, and all those other
>> ways of generating XML/HTML from Python code in a natural looking way?
> Hi Stefan,
> Thanks for your feedback.
> Yes, I am aware that phileas might - on the basis of the short
> description on this post - come across like a 're-invented wheel'.
> There is, however, one big difference between phileas and all other
> other similar packages (XIST, ELementTree, HTMLgen, HyperText,
> pyhtmloo etc.) that I inspected:
> Phileas uses distinct objects to generate each start and end tag,
> whereas all the others use a single function call (in some cases
> itself generated by a function call) to generate a complete well-
> formed element including start-tag and (where required) end-tag. In
> theory this is less neat and indeed it means one can write 'bad' HTML
> (e.g. missing end of paragraphs) with phileas just as easily as when
> writing pure html. In practice, however, I find it at a lot easier to
> While using pyhtmloo (my previous favourite HTML generator), I had
> found myself using awkward complicated artificial constructions in
> order to generate all but the simplest HTML - and spent much time
> playing 'hunt the missing bracket'. With phileas, these complexities
> seem to just fall away.
Any decent editor should be able to balance parenthesis for you.
> Put another way, Phileas generates HTML4.0 - warts and all; it is not
> a parser or generator of XML.
> I'm considering building in checks/warnings for unclosed elements
> etc., probably in the next-but-one pre-release.
That your library will require a validation to be executed at run-time
seems like it will be tedious to use.
A decent text editor can even balance your HTML tags for you.
Though you have a neat "DSL" like language for representing HTML
elements. I'd suggest taking it one step further and creating a
machine that can read in a Python data-structure and with as few hints
as possible wrap it in the appropriate tags.
More information about the Python-list