ぽっぺん日記@karashi.org
2009-10-24(Sat) [長年日記]
_ flic.krを操作するPlagger用フィルタを書いた
現在、ミニブログにはTwitterとWassrを使っていて、PlaggerでTwitter→Wassrの同期をしています。
写真postにはWassrを使っていたのですが、Flickrで一元管理できればいいなぁ、とググってみたところ、Flickrに送った写真をTwitterにpostしてくれるサービス、flickr2twitterの存在を知りました。 flickr2twitter専用のメールアドレスに写メを送ればいいということで、非常にお手軽です。
flickr2twitterでは、Flickrのアドレスはflic.krという短縮アドレスが使われるのですが、ここでちょっと引っ掛かりました。 Wassrには、post中にFlickrのアドレスを書くと、自動的にFlickrの写真を引っ張ってきてくれるという、とても便利な機能があるのですが、残念ながらサポートされているアドレス形式は
http://www.flickr.com/photos/{ユーザID}/{写真ID}/
のみで、flic.krの
http://flic.kr/p/{写真IDのBase58}
には対応していません。
そんな訳で、flic.krからFlickr形式のアドレスに変換するフィルタ、Plagger::Plugin::Filter::Flicdotkrを、id:toshi123さんのPlagger::Plugin::Filter::TinyURLを参考に*1書いてみました。 これを使えば、Twitter→Wassrへの同期した際、Wassrでは自動的にFlickrの写真を引っ張ってくれます。
lib/Plagger/Plugin/Filter/Flicdotkr.pm at master from poppen's plagger - GitHub
flic.krからFlickr形式へ変換するYAMLは次のようなものです。
global:
plugin_path:
- lib/Plagger/Plugin
assets_path: assets
timezone: Asia/Tokyo
log:
level: error
plugins:
- module: Subscription::Config
config:
feed:
- url: http://twitter.com/statuses/user_timeline/YOUR-TWITTER-ID.atom
- module: Filter::Flicdotkr
config:
be: long
userid: foobar
- module: Publish::Wassr
config:
username: YOUR-WASSR-ID
password: PASSWORD
flic.krからFlickr形式のユーザIDを取得する方法、またはユーザIDなしのFlickr形式アドレスが分かりませんでしたので、useridを指定するというダサい仕様になっています。 さらに、他のユーザのflic.kr形式のアドレスがあったとしても、問答無用に、指定ユーザのFlickr形式アドレスに変換してしまうという超絶仕様でもあります。
ここらへんの解決方法がお分かりなる方がいらっしゃいましたら、教えていただければ幸いです。 これさえなんとかなれば、WWW::Shorten::Flickrなんてものが書けると思うのですが。
フィルタには、ついでに、Flickr形式からflic.krに変更する機能も実装してみました。
使いたい場合には
- module: Filter::Flicdotkr
config:
be: short
という風に使ってください。
このフィルタがお役に立てば幸いです。
追記
自作のWWW::Shorten::Flickrを使うように変更してみました。 これでconfigなしの
- module: Filter::Flicdotkr
だけで、flickr→flic.krとflic.kr→flickrへの変換ができるようになりました。
*1 というか、ほぼ丸ぱくりw




まで頂ければ幸いです。