Hatena::ブログ(Diary)

元南国大学生がご当地プログラマを目指す日記 Twitter

2012-07-09

PivotalTrackerのAcceptを呟くbotを作った。

先日、ギー沖住人の@が#gokidea というハッシュタグつぶやくと、それがギークハウス沖縄のPivotalTrackerのiceboxに追加されるスクリプトRubyで書いてた。

せっかくだし、AcceptされたStoryをギークハウス沖縄のbot(@)につぶやかせたいなと思って、作成した。


参考資料

⇨PivotaltrackerのAPIの説明。ここにだいたい書いてある。基本的に、ユーザーアカウントがもってるTokenとプロジェクト単位で割り当てられるproject_id があればアクセスできるっぽい。

 ⇨これをimportしたら、xmlタグが簡単に取れるみたい。似たようなものは他にもあったけど、うまくいかなかったけど。

 ⇨生まれて初めてパースというものに挑戦することになったので、これを使って抜き出した。簡単に抜き出せたのでびっくり。パースって面白いからもっと使いそう。

 ⇨使い方とか Beautiful SoupでHTMLやXMLをparseしよう - そこはかとなく書くよ。

 ⇨今回のプログラムは前回つぶやいてから、10分以内にAcceptedされたStoryを探してつぶやくために、現在時間とAcceptedされた時間を引く工程必要だった。そのためにAcceptedされた時間をdatetimeに変換するものが必要だった。

 ⇨あと、ここだとタイムゾーンまで表示されるので、現在時刻を表示するときに、タイムゾーンを指定してあげなきゃいけない。そのときは、pytz - World Timezone Definitions for Python — pytz 2014.10 documentationでタイムゾーンを指定してあげる。

pytz – Pythonでタイムゾーンを扱うライブラリ | 情シスハック

 ⇨Story名とAcceptedの時間をひとつのグループにまとめるために使った。テキストでしか見たことなくて利点とかよく分からなかったけど、今回を通して便利だなと納得。

zip()関数 - バリケンのPython日記 - pythonグループ

 ⇨Python Dependencies via Pip | Heroku Dev Center

pip freeze

で出てきたインストールしてるモジュールバージョンで、herokuに乗せるコードに必要なやつを requirement.txtに書くこと。

今回の反省

 ⇨関数型言語に触れる。appendを禁止にするのはどうか。変数の中身を変える、変数の再代入もなし。

 ⇨@さんがいいんじゃないか。

 ⇨ちょこっとコードレビューしてもらったけど、すごいよかった。またやりたいなー@

小さな目標だけど、できるだけ、動くコードを作るようにします。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証