すべてがOになる

 すべてがO(オブジェクト)になるってのはやっぱり凄いね。
 パワフルかつフリーダム、attrgetter*1とか使うと身もだえかねない。
 Widgetのgetterに流し込むだけでかなり自由に動きをカスタマイズできる。
 当たり前のことなんだけど、なかなかここに到達できなかった。もう少し分かってくると、Widgetが手足になる!(といいなぁ)
 あと、TurboGearsは、
 dev.cfgに
 tg.fancy_exception=True
 としておくのが無難。エラーの親切度が違います!

*1:指定した名前のアトリビュートを返す関数オブジェクトを得る