Python/HTML integration: phileas v0.3 released

J Kenneth King james at agentultra.com
Mon Nov 23 10:37:36 EST 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?
>>
>> Stefan
>
> 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
> use.
>
> 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.

>
> Larry



More information about the Python-list mailing list