Gmailから特定のラベルが付いてる未読メールの一覧を取ってきてTwitterのURLを抜き出してそいつをフォローするスクリプト

タイトルどおり。
follow通知にラベルをつけたはいいけどいちいちURLに飛んでフォローするのがめんどくさくて放置しちゃってる人は使ってみてください。

http://bitbucket.org/feiz/kakisute/src/tip/follow_from_gmail.py

IMAP4_SSLインスタンス生成時に固定でGmailって打っちゃってるんでそのままだとGmailのみ対応。
別のIMAPが使えるメールサービスで使うときは適当に書き換えてください。

流れ

1:TwitterGmailの垢パス、対象とするラベル名を入力
標準入力から文字列を取る処理がやりたかった。
2:imaplibでGmailから未読メールのリストを取得
NEWだとなぜか取れなかった(?)のでUNSEENで取得
3:本文をフェッチしてmatchobject.findallをキめる
twitter.comのURLはメール中に2件出てくるのでリストの1件目のみを処理対象に。
4:twitter.Api.CreateFriendshipする
アカウントが無い、もしくはすでにフォロー済みの場合はExceptionが返る。
5:imaplibで処理したメールを既読にする
+するのが無難

勉強できたこと

標準入力から文字列を入力する方法
これに限らずPythonの標準機能を知らなすぎるのをなんとかしなきゃいけない
imaplibの使い方
ドキュメントにいい感じのサンプルがあった。
IMAPプロトコルの仕組み(ちょっとだけ)
RFCを英語のまま読むということを初めてやった。

書いてみて

3時間で書いた。
この程度のものは1時間いや30分で書きたいところ。