How My Heart Sings

Wed, 02 Jul 2008

pythonとpyblosxomの勉強中なのです

いや、blosxomrubyによる実装が今でもあったなら、たぶんそっちで遊んだだろうけれど、無いのは仕方ないんだよ、だよ。

大したことはしていなくても、書き留めていくことは大事。…plugininfo.pyという、pyblosxomで現在使用中のプラグインの作者や連絡先等を一覧表示するプラグインがあります。pyblosxomでは、どのプラグインも大体においてとても簡単に特に問題もなく導入できるので、色々ホイホイ入れていっていたのですが、突然plugininfoによる表示ができなくなってしまいました。ブラウザで見ると、check_javascript.pyの作者を表示するところで止っています。…作者のメールアドレスが<>で括られていて、それがエスケープされないままになっているのが原因でした。当サイトはapplication/xhtml+xmlとして文書を吐いているので、ここら辺り厳しくされてしまうのです。

    import cgi
    plugindata.append("AUTHOR: " + cgi.escape(str(getattr(mem, "__author__", None)) + "¥n"))
    plugindata.append("VERSION: " + str(getattr(mem, "__version__", None)) + "¥n")

追加修正したのは最初の二行。二行目は元は三行目と同じ形をしていました。まだ何も分っていない状態ながら、ともかくここを何とかエスケープしてやれば良いのだなと…エスケープする方法はコメントプラグインのcomments.pyを読めばすぐ分ったし、pythonって読み易くて簡単なんだ、と思った瞬間です。プラグインだけでなく本体の方も、pyblosxom.pyとかtools.pyとか、読むともりもり勉強になるなぁ。

まだ続きそう。

Meta Infomation of this entry

You can add this Entry to your  はてなブックマーク and Delicious

Comments

Add Comment...

スパム対策のため、一ヶ月を経過したエントリにはコメントを書き込めないのです…後、http:と書くこともできません。

Name:

Comment:

Le violon intérieur....
Yasuo Yamashita
vaiorinnhiATTOnaDOTrimDOTorjye-pi-
Y.A.S.U.O Ytterbium Artificial Sabotage and Utility Organism Y.A.S.U.O Yelling Abomination from the Sunless Underground Oasis

Pyblosxom and plugins. For detail, see http://viole.sakura.ne.jp/blosxom/blosxom.cgi/plugin_info