Flickrの写真をpostする LDRize Minibuffer flickr.share コマンド
FlickrでLDRizeでピンを立てたものをTumblrにpostするLDRizeのMinibuffer用コマンドです。
ダウンロード
LDRize Mibuffer flickr.share command – Userscripts.orgからどうぞ。
使い方
reblog commandと同じです。Tumblrにpostしたい写真をpでピンを立てていって気が向いたときに
pinned-node | flickr.share
でピンを立てた写真をtumblrにpostすることができます。
ただ、Flickrの仕様上3回リクエストを出さないとtumblrにpostできないためreblog commandに比べて完了までに時間がかかります(5秒くらい?)。焦らずお待ちください。
LDRizeが効くページでは使えると思います。ピンを立てたparagraphの中で一番大きい写真がpostされるようになっています。うまくいかないところがあったら教えてくださいー。
注意点
tumblrにログインしていない、枚数制限を超えているなどの理由でpostに失敗したときでもエラーが出たりしないで成功したことになるのでご注意ください。
Tomblooで使われているnsIXMLHttpRequestのGreasemonkeyバージョンGM_xmlhttpRequestが機能的に貧弱でリダイレクトされてもわからないためです…
感想
LDRize mibuffer tumblr reblog commandのほうの中身はほとんどShareOnTumblrで出来ているのですが、そのShareOnTumblrはTomblooに吸収されてなくなったのでreblog commandもいいかげんtomblooベースにしないと(コアの部分を自分でメンテナンスしないといけなくなって)めんどくさくなるなーと思いつつ、動くからいいやと思っていました。
FlickrでもtumblrのdashboardみたいにLDRizeでピンを立てていってpostしたいなーと思って、でもpostする部分は既にTomblooで実現されている機能なのでTomblooからちぎって繋げばいける、というわけで行数にして95%をTombloo0.0.9から持ってきています(そのうちの85%はMochiKitのコード)。のこりの5%のうち2%は
Curiosity is bliss: XMLHttpRequest – Security Bypassで自分で書いたのは250行くらい。
ShareOnTumblrのコードは流用しにくかったけれど、TomblooはTombloo、0.0.7 – 実用に15日書けてリファクリタングしたと書かれている通り、サービスの抽象化のしかたも(いろんなサービスからデータを読み出して、いろんなサービス(TumblrとFFFFOUND!のふたつ)に書き込むことができます)、非同期処理のハンドリングもほんとうに素晴らしくて、わずかに1行書き換えるだけでそのまま再利用できました。
flickr.share commandの仕事
Tomblooはpostしたいものをマウスを使って(つまりGUIで)選びます。postするものは、基本的にはマウスでクリックされたHTMLの要素(画像とか選択されたテキスト)になります。LDRizeの場合は、ピンを立てるのはページの中にある繰り返し要素のひとつひとつ(paragraph)なので、そのparagraphの中にある何をpostするのかまではわかりません。
flickr.shareは、LDRizeから渡されたparagraphから、一番大きなimg要素を取り出してcontextの中に設定して
Tombloo.Service.share(context, Tombloo.Service.extracters[ 'Photo - Flickr' ]);
を呼び出しているだけです。
FFFFOUND!でもLDRizeでピンを立ててtumblrにpostしたいと思えば'Photo - Flickr'の部分を'Photo - FFFFOUND!'に変えればffffound.shareコマンドができちゃう! わけです。
Tomblooの中には既に31個くらいのデータの読み出し元(と、読み出すときに特定の手続きが必要だったりすることもあるのでその読み出しかた)が定義されているので、こうやってちまちまuser.jsを書くんじゃなくてTomblooの側からGreasemonkeyのsandboxにアクセスする方法でもってMinibufferにコマンドを追加する方向でいこうと思います。
Thanks
LDRize Minibuffer flickr.share command contains following codes. Thanks for the respective developers.
- Tombloo 0.0.9 – 実用
- MochiKit – A lightweight Javascript library(Tombloo requires)
- Curiosity is bliss: XMLHttpRequest – Security Bypass(to emulating XMLHttpRequest with GM_xmlhttpRequest)
About this entry
You’re currently reading “Flickrの写真をpostする LDRize Minibuffer flickr.share コマンド,” an entry on ku
- Published:
- 2007.11.30 / 1am
- Category:
- Firebug, LDRize, greasemonkey

No comments
Jump to comment form | comments rss [?] | trackback uri [?]