« [Zaurus]拡張オーディオドライバでLinux Zaurusをドンシャリサウンドに | Main | [Windows Mobile]Advanced/W-ZERO3 [es]でGSFinderとPythonCE/ruby-mswinceを組み合わせて使う »

2007.09.09

[Mac OS X]iPhotoで選択中の画像をココログに一発でアップロード

ブログに貼る画像を用意するのが面倒で、Flockを使ってFlickrと連携させているのですが、Flickrが重いことが多くて、これもイマイチだなーと思っていたところで暴想さんのエントリ「暴想: cocolog_image_uploader.rbをバージョンアップ」を発見。

こりゃ便利! ということで真似をさせていただきました。

まずは動作環境を作ります。
既に/usr/local/binにruby1.8.6をインストールしているので、そこまでは(恐らく)暴想さんと同じですね。

ちなみに、僕はMac OS X Tigerを使ってます。

RMagickのMac OS X Tigerへのインストール

cocolog_image_uploader.rbではRMagickを使っているのでインストールします。
RMagickは依存しているライブラリが多いので、結構インストールが大変です。

RMagickのMac OS X Tigerへのインストールについては、Installing RMagick on OS Xを参考にしました。

X11のインストール

X11のインストールをします。僕はもうインストール済みでした。
Mac OS X Tiger用のX11はOSのインストールDVDに収録されてます。

Xcode ToolsとX11 SDKのインストール

これもインストール済み。
ADCからXcode 2.4.1をダウンロードしてインストールしてあります。

Xcodeには3.3と4.0のGCCが入ってますが、gcc4.0の方を選択しておく必要あり。
リンク先ではlnを使ってシンボリックリンクを手動で張ってますが、gcc_selectというコマンドでできます。

sudo gcc_select 4.0

これでOK。

MacPortsのインストール

これもインストール済み。公式ページ

参考「はこべにっき#: MacPortsでステキなUNIXツールをインストール」

MacPortsから必要ライブラリをインストール

以下を実行し、

sudo port install jpeg
sudo port install libpng
sudo port install libwmf
sudo port install freetype
sudo port install ghostscript

さらに以下を実行して、

freetype-config --cflags

以下の出力が得られていればOK。

-I/opt/local/include/freetype2 -I/opt/local/include

ImageMagickのインストール

ImageMagickのページからImageMagick.tar.gzを落としてきて、以下の通りにオペレートします。

tar xvzf ImageMagick.tar.gz
cd ImageMagick-X.Y.Z
export CPPFLAGS=-I/opt/local/include
export LDFLAGS=-L/opt/local/lib
./configure --prefix=/opt/local --disable-static --with-modules --without-perl \
--without-magick-plus-plus --with-quantum-depth=8 \
--with-gs-font-dir=/opt/local/share/ghostscript/fonts
make
sudo make install

RMagickのインストール

RubyGems経由でRMagickをインストールします。
無論、RubyGemsがインストールされていないといけません。

sudo gem install rmagick

ソースからインストールする場合は以下でいけるそうです。

tar xvzf RMagick-X.Y.Z.tar.gz
cd RMagick-X.Y.Z
./configure
make
sudo make install

cocolog_image_uploader.rbの動作確認

cocolog_image_uploader.rbに実行権を与えます。

chmod +x cocolog_image_uploader.rb

RubyGems経由でRMagickをインストールしたので、スクリプトの冒頭に、

require 'rubygems'

を追記。

accountsを自分のアカウントに書き換え。
iPhotoからデスクトップ上に作ったblogフォルダに画像を放り込んで、スクリプトを実行

cd ~/Desktop
./cocolog_image_uploader.rb blog

ちゃんと動きました。

cocolog_image_uploader.rbを改造

iPhotoからコピーするのが面倒なので、iPhotoで選択中の画像を直接アップロードするよう改造してみました。

「cocolog_image_uploader_variant.rb」をダウンロード

ライブラリ、rb-appscriptを使ってます。
rb-appscriptはRubyGemsからインストールできます。

sudo gem install rb-appscript

使い方は、以下の通りです。
iPhotoでアップロードしたい画像を、並べたい順番に一つずつ選択して実行します。iPhotoで選択した順番が反映されます。

./cocolog_image_uploader_variant.rb アカウント名

引数として、アカウント名を指定します。
もちろん、実行前にaccountsの部分を自分のアカウントに書き換えておく必要があります。

エラー処理がほとんど無いので、注意して使ってください。
結果に責任を持てません。

|

« [Zaurus]拡張オーディオドライバでLinux Zaurusをドンシャリサウンドに | Main | [Windows Mobile]Advanced/W-ZERO3 [es]でGSFinderとPythonCE/ruby-mswinceを組み合わせて使う »