螺旋階段を一歩ずつ

研究のタネから趣味のネタまで

python-twitter + wheezy.templateでツイートを表示

だいぶ前の python-twitter + jinja2でツイートを表示wheezy.templateでやってみる。

ゆくゆくはwheezy.webを使えるようになりたいので、まずはwheezy.templateの練習。

パッケージのインストール

$ python --version
Python 2.7.3 --  64-bit

$ sudo pip install wheezy.template

$ pip show wheezy.template
---
Name: wheezy.template
Version: 0.1.151

wheezy.template テンプレート

ツイートの表示はTwitterの widgets.js を使う。

@def script():
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
@end

あとは、クラスに twitter-tweet を付けるだけ。

@def content():
@require(tweets)
@for tweet in tweets:
    <blockquote class="twitter-tweet">
        <a href="https://twitter.com/@tweet.user.screen_name!s/status/@tweet.id!s">https://twitter.com/@tweet.user.screen_name!s/status/@tweet.id!s</a>
    </blockquote>
@end
@end

@変数!s で文字列を表示する。wheezy.templateでは、必要な変数を使用前に記載する。

@require(tweets)

テンプレートの構成は次のとおり。

.
├── templates
│   ├── shared
│   │   ├── master.html
│   │   └── snippet
│   │       └── script.html
│   └── twi_wheezy.html
├── tw_key.py
└── twi_wheezy.py

コード

テンプレートは twi_wheezy.html として、 shared/master.html を拡張する。

ローダーには FileLoader を使って、searchpath にある twi_wheezy.html をテンプレートとして用いる。あとは、テンプレートの変数を辞書として渡してあげれば良い。日本語を使うときはunicodeに注意する。ここでは html_escape を使用していない。

出力されたHTMLをブラウザで見るとこうなる。オリジナルサイズはこちら

wheezy.template tweet display by hironow365, on Flickr

伊織、かわいい!