«前の日記(2009-10-14(Wed)) 最新 次の日記(2009-10-27(Tue))» 編集

ぽっぺん日記@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

[]
本日のPingbacks(全0件)

«前の日記(2009-10-14(Wed)) 最新 次の日記(2009-10-27(Tue))» 編集