下林明正のブログ

個人的かつ雑多なブログです。

Gunosyから来るメールをRSSフィードに変換するスクリプト書いた

shimobayashi/gunosy2feed · GitHub

実行すると標準出力にRSSフィードを出力するので、cronに登録して定期実行し結果をリダイレクトして書き出すことを想定している。

GmailのフィルターでGunosyから来るメールはGunosyラベルが付けられていることを期待している。 また、Gmailは標準ではIMAPでのアクセスが有効になっていないので、設定からIMAPの設定をする必要がある、かも知れない。gmail gemがIMAPを使っているのかどうか調べていない。

アカウント管理にはpitを使ってみたので、適当にpit set gmail.comとかやっておくと動くかもしれない(未設定時EDITORが開くことは確認しているけど、何を書いてもどこに保存されているのかよく分からなかった)。

吐き出したフィードのURLは、多分秘密にしておいたほうが良いと思う。


今まで使ったことがなかったgemを2つ使った。

一つ目はpitというgemで、アカウント情報をホームディレクトリとかに置いて色んなスクリプトの設定を共通化するみたいなの。 この手の発想は昔Pythonのライブラリで見かけてから気にしてはいたのだけど、まあ使わなくても困らないので無視してきた。 しかしながら、最近githubを使うようになっていちいち.gitignoreに追記するのもミスしそうで怖くなってきたので、使ってみることにした。 当然ながら、自分で書くよりも楽ができて良い。

二つ目はgmailというgemで、gmailへのアクセスをするのに便利なgemみたいなの。 最初は2009年にやっていたようにIMAPをベタで書こうとしていたけど、途中でMIME multipart encodedなbodyをデコードするのがめんどくさくなって車輪の再発明をするのもだるいということで使ってみることにした。大体こういうライブラリはAPIがいけてなかったり日本語を上手く扱えなかったりして面倒なことになると思っていたのだけど、このgemに関してはそうでもなかった。ruby-gmailというgemの改良版みたいな感じっぽいので、色々と工夫しているのかもしれない。 なんとなくIMAPを使っている気がしているけど、使っていないかもしれない。 GmailでのIMAPの取り扱いについては過去の自分が色々と書いていたのでそういうことをやろうとしている人は眺めてみると良いかもしれない。


Gunosyは強い意志を持ってRSSフィードを提供していないと思っている。 なので、僕が今やっていることはきっと邪道だろう。

しかしながら、pixivと同じように毎日見るものなのにいちいちアクセスしなければいけないというのは面倒すぎる。 Gunosyの提供する情報が純度100%の最高の情報たちだったらまあメールでも良いかもしれないけど、実際は打率1割程度なので丁寧にメールで眺めるには質が足りてない。

自分にとってはこのスクリプトでそれなりに便利になると思う。