Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

templates avec syntaxe pseudo XML

7 réponses
Avatar
Mihamina Rakotomandimby (R12y)
Bonjour,
Soit un bout de code qui sait questionner une base de donnée et qui
retourne une liste d'articles (dans le sens litteraire) qui sont
représentés comme ceci:

class Article:
self.title = "" # un titre < 100 chars
self.description ="" # une description < 500 chars
self.body = """ """ # texte multiligne ~ 4000 chars

On doit faire afficher cette ligne de texte sous la forme

<h2>liste[0].title</h2>
<div>liste[0].description</div>
<div>liste[0].body</div>

<h2>liste[1].title</h2>
<div>liste[1].description</div>
<div>liste[1].body</div>

...

<h2>liste[n].title</h2>
<div>liste[n].description</div>
<div>liste[n].body</div>

Le code Python est motorisé par mod_python, handler Publisher.
Mon but est d'utiliser un template, mais dont la syntaxe est proche
d'XML, comme les ZPT mais en moins "grosse usine".
Est-ce que des noms vous viennent en tete?

Merci.

7 réponses

Avatar
Michel Claveau - NoSpam SVP ; merci
Salut !

ElementTree ?

--
@-salutations
--
Michel Claveau
Avatar
Mihamina Rakotomandimby
Michel Claveau:
ElementTree ?



Hum, ça ne ressembla pas vraiment aux ZPT.
Mais j'ai juste lu 2-3 documents seulement.

--
Chef de projet chez Vectoris
http://www.google.com/search?q=mihamina+rakotomandimby
Telephone: +261 33 11 207 36
Avatar
Bruno Desthuilliers
Mihamina Rakotomandimby (R12y) a écrit :
Bonjour,
Soit un bout de code qui sait questionner une base de donnée et qui
retourne une liste d'articles (dans le sens litteraire) qui sont
représentés comme ceci:

class Article:
self.title = "" # un titre < 100 chars
self.description ="" # une description < 500 chars
self.body = """ """ # texte multiligne ~ 4000 chars



Sans vouloir être désagréable, ce bout de code génère un NameError (name
'self' is not defined) !-)

On doit faire afficher cette ligne de texte sous la forme

<h2>liste[0].title</h2>
<div>liste[0].description</div>
<div>liste[0].body</div>

<h2>liste[1].title</h2>
<div>liste[1].description</div>
<div>liste[1].body</div>

...

<h2>liste[n].title</h2>
<div>liste[n].description</div>
<div>liste[n].body</div>

Le code Python est motorisé par mod_python, handler Publisher.
Mon but est d'utiliser un template, mais dont la syntaxe est proche
d'XML, comme les ZPT mais en moins "grosse usine".
Est-ce que des noms vous viennent en tete?



Genshi ? En tous cas, si tu veux que le template soit du XML valide...

Merci.



De rien
Avatar
Philippe Bouige
>> Mon but est d'utiliser un template, mais dont la syntaxe est proche
d'XML, comme les ZPT mais en moins "grosse usine".
Est-ce que des noms vous viennent en tete?





Bonjour,

Pour une liste non exhaustive de lib python pour créer
des templates :

http://www.pasteur.fr/cgi-bin/pBouige/NewSite/Pyblosxom.cgi/InfoBioX/Template

Ma préférence va pour Kid et ZPT.
Voir aussi celui-ci, bien mais complexe :

http://template-toolkit.org/python/index.html

Bonne continuation, Philippe
Avatar
Bruno Desthuilliers
Philippe Bouige a écrit :
Mon but est d'utiliser un template, mais dont la syntaxe est proche
d'XML, comme les ZPT mais en moins "grosse usine".
Est-ce que des noms vous viennent en tete?





Bonjour,

Pour une liste non exhaustive de lib python pour créer
des templates :

http://www.pasteur.fr/cgi-bin/pBouige/NewSite/Pyblosxom.cgi/InfoBioX/Template

Ma préférence va pour Kid et ZPT.



r12y demandait explicitement quelque chose de plus simple que ZPT, il me
semble !-)

Quant à Kid, la dernière fois que j'ai été jeter un oeil, il était
largement surpassé par Genshi (qui s'en est inspiré) et semblait un poil
à l'abandon. Mais bon, ça fait une paire d'année maintenant que je n'ai
pas été voir l'état d'avancement de l'un ou l'autre projet, donc...
Avatar
Philippe Bouige
On 2009-03-17, Bruno Desthuilliers

Quant à Kid, la dernière fois que j'ai été jeter un oeil, il était
largement surpassé par Genshi (qui s'en est inspiré) et semblait un poil
à l'abandon.



"à l'abandon' ne veut pas dire que ça ne fonctionne pas :-)
de plus le demandeur voulait quelque chose type syntaxe XML.

Après le plus simple en python, c'est :
--------------------------------------+

print '<xml>Ceci est un %s simple</xml>' % 'exemple'

<xml>Ceci est un exemple simple</xml>

Bon quelques pistes complémentaires :
------------------------------------+

http://www.python.org/doc/2.5.2/lib/node40.html
http://davidbau.com/archives/2007/02/18/python_templates.html
http://www.embl-heidelberg.de/~chenna/pythonpages/template.html

Bonne continuation, Philippe.

PS : Le truc simple qui fait le travail à ma place je ne l'ai
pas encore trouvé... une idée ;-))
Avatar
Mihamina Rakotomandimby (R12y)
Philippe Bouige wrote:
de plus le demandeur voulait quelque chose type syntaxe XML.
Après le plus simple en python, c'est :
print '<xml>Ceci est un %s simple</xml>' % 'exemple'



Oui mais ce n'est pas vraiment du "template" comme on veut, ça, le
"print" est la logique en trop.

Je voulais du XML pour pouvoir faire un M-x xml-mode dans mon Emacs, ce
qui donne des resultats bizarres quand c'est pas proche d'XML.

Ensuite, les ZPT, je veux bien, mais seulement dans Zope, pas ailleurs.

Genshi, oui, c'est pas mal, mais je cherche encore à le faire
fonctionner avec mon truc fait-maison-en-5-minutes qui est en mod_python