About
もうひとつの hiromasa.zone。-
Recent Comment
Kyodeki
- Jasper Reports で PDF ファイル出力 (29)
- Ubuntu 10.04 Netbook Remix インストール (28)
- Groovy のスクラップコードと Eclipse 3.6 Helios (22)
- オープンソースカンファレンス 2010 北海道 + WordPress セミナ & ブース (22)
- Ubuntu 10.04 LTS 64bit版インストール (21)
- 携帯電話 Bluetooth + DUN でモバイルインターネットを試す (20)
- WordPress 3.0 と プラグインアクション・フィルターフックへのクロージャ渡し (20)
- VDPAU 動画再生支援の利用 (19)
Category
-
Random Post
WordPress

















Python を使って twitter クライアントをつくってみる。
ことの発端は twitter クライアント tween の画面をみなみさんにみせてもらったことだった。 それはタスクトレイに常駐して、新着メッセージがあるとバルーンが表示されていた。 うらやましくおもったが、ぼくの PC は Linux だった。 Linux で tween は動かなかった・・・。
てなことで、ないものはつくる精神。 ひろまさはバルーン好きだった。
これね。 なんかにょーんってでてくるのが好きです。(XP ツアーはいらないが・・・)
で、Linux でもアップデートマネージャとかで同じようなバルーンがでてきていたので、ツールキットとして存在していることは分かっていました。
実は何を隠そう、バルーンできる Linux 向け twitter クライアントは既にいくつかありまして、
こちらは、そのまんまOK。
デスクトップガジェットの screenlets にもあって、こちらも notify 表示ができます。
TwitterNotifier さんをありがたく使わせていただけばよいのですが、ちょっと表示のイメージが違うのと、あとクライアントは IM (Jabber) 経由でとろうと思っていて、その修正するのがちょっと難しそうだったので(待ちうけスレッド立てなきゃいけない)、今回はソースの参考用にさせてもらっています。(ありがとうございます)
したの SimpleTwitterScreenlet は、(あとで気がついたのですが)日本ロケールで動かすとメッセージ notify が動作しません。 strptime という関数が ja_JP UTF-8 ロケールで動かすと、解釈を日本の月名とか曜日でしてしまいおちてしまうようです。
とか先頭にいれておくと動くかもです。
さて、何を隠そうぼくは Python 言語も GTK ツールキットもまったくわかりません。。 Python というのはいわゆるスクリプト言語。 GTK というのは、主に Linux などでウインドウを描くためのライブラリです。
何はなくても公式ドキュメント。
Python から GTK を呼ぶには PyGTK というのを使えばよいようです。
・・・。 よし。(←なにがよしだ
Python はまったくわからないので、Python を Python らしくつかうことなぞ、到底できませんが、、動かすくらいはできるでしょう。 スクリプト言語ってことは JavaScript みたいなもんでしょ。(←相当誤った解釈
で、いろいろライブラリなどをあつめ、かくと同時に言語仕様につまるなどし、試行錯誤。。 実行。 ぴ。
ぎゃー。
もうちょっといじって。。 あぁ、ひさしぶりに GUI のツールキットさわるね、などと思いつつ、部品が visible になるまえにイベントが発生してうまくでないとか、「懐かしいなぁ」などとおもいつつ・・・。
ぴ。
うむ、満足。
ほんとは API でなく Jabber 経由でひろいたいので、あとは IM が復活して dsub の差し替えをすればいけるはずなのですが、はたして。。
さて、今では普通なんでしょうけど、スクリプト言語で GUI つくれるのは、なかなか不思議な感覚をうけます。 gtk.main() でイベントループするんだーみたいな。そりゃそーなんですが。
ちなみに、PHP も GTK とのバインディングがあるのでやればできるみたいですね。
GTK は Glade というライブラリをつかうと、XML により GUI コンポーネント定義と、イベントシグナル定義ができて、プログラムから簡単に扱えるようです。
Glade 用のデザイナーもあります。
今回、自分でかいたのは 100ステップ未満。 もちろん多彩なライブラリのおかげもありますが、こんだけで twitter の GUI がつくれてしまうのは、お手軽感が非常に高いです。
プログラミングって結構楽しいですが、いま全盛の Web におけるプログラミングというのは、あるいみ敷居が高くて、言語自体の仕様のほかに、HTTP ネットワーク、HTML の構造とか、周辺環境の知識とか言語自体にも覚えなければいけないことがたくさんあります。
しかも、Webプログラミングは、方式の目的外使用して無理やりやっている事柄も多くみられることから、とっかかりの難易度としては高いような気もします。 クライアントアプリケーションから、クラサバになって、Web になってとか順をおってやっていると大して難しくないのですが、いきなり Web ってなるとなかなか。 いつもどこから説明していいか分からなくなります(笑)
てなわけで、5行くらいのコードで、画面に GUI をだせちゃったりする Python + GTK はプログラミングの勉強環境としてはよいかなと、ふと思ったりもしました。 最初はなんか派手に画面でたほうが面白いもんね。
ちなみに、この環境は Windows でもちゃんと動くようです。 サンプルうごかして、ソース見るだけでも楽しいかもですヨ!