とりあえずのGenshi の使い方
テンプレートとなるテキストを用意して、それを元にgenshi.template.Template のサブクラスのインスタンスを生成。
パラメータは$ で始まる文字列で、$ 自身を使いたい場合は$$ とする。
from genshi.template import TextTemplate tmpl=TextTemplate("<$param>")
テンプレートのインスタンスからgenerate でストリームを生成。generate を呼び出すときにパラメータを渡す。
作成したストリームのrander で文字列を生成する。
strm=tmpl.generate(param="hogehoge") print strm.render()
'<hogehoge>'
パラメータにはアトリビュート?を持たせることが出来る。この場合、パラメータを{} で括る。シェルスクリプトみたいな書き方。{}で括らなくても大丈夫みたい。
class X: def __init__(self, name): self.name=name tmpl=TextTemplate("<${param.name}>") print tmpl.generate(param=X("wktk")).render()
'<wktk>'
さらに、パラメータの関数呼び出しも出来る。
from datetime import datetime tmpl=TextTemplate("<${d.strftime('%x %X')}>") print tmpl.generate(d=dattime.now()).render()
'<10/30/08 20:48:55>'