tweepyの実装

pythontwitterのOAuth周りを試していた。以前Djangoから扱うものを触っていたけど、今回はbot対応をしたかったので、色々調査した。今botはほぼ自作のtwitterライブラリを使ってるので、OAuth周りも自作してみたけど、キレイに書ける気がしなくなったので既存のライブラリにすることにした。結果はtweepyが一番良さそう。tweepyのソースを軽く見たけど、twitterAPIにアクセスするメソッドを新しく追加する方法がなるほどなーと言った感じでした。以下例

""" statuses/home_timeline """                           
home_timeline = bind_api(
    path = '/statuses/home_timeline.json',
    parser = parse_statuses,
    allowed_param = ['since_id', 'max_id', 'count','page'],
    require_auth=True
)

bind_apiは関数を返す関数で、home_timelineがメソッドになる。引数にはAPIへのパスと、パーサー(関数)と、許可されるパラメータ名のリストと、認証が必要かどうか、あとここでは省略されているがmethod(GET,POST,PUT,DELETE)も渡す。デフォルトではGET。
こうやって定義すると新しいAPItwitterから出て来ても簡単に追加できるし見やすいですね!
関数を返す関数とか自分では中々定義しないので参考になる。ような気がする。普段PHPばっかやってるから頭が回らない!と言い訳!