Paparazzi!というソフトが紹介されているのを見かけた。これが何かといえば、以前にも別のものを紹介したことがあるのだが、Webページの内容を1枚ものの画像にキャプチャしてくれるソフトだ。
GUIから使う分には、まあそれほど破綻もなく、見たまま・期待したままの機能が利用できるのだが……問題はAppleScriptから利用した場合だ。
このソフトはオープンソースで開発されているらしいのだが、それにもかかわらずAppleScript対応機能が装備されており、AppleScriptからコントロールできるようになっている。
http://www.bridge1.com/paparazzi.html
ただ、いろいろ試してみたところ、その実装内容は試行錯誤というか苦悩の結晶というか、未実装の機能も散見されており、混乱を招くこと必至というたたずまいである。
まず、1つの目的を果たすために2つも3つもやり方が用意されている。これは、目的のURLを開くなりキャプチャする方法についてなのだが、open URLとかstart captureとかbatch windowにURLをaddするだとか、どう見ても「これ、全部同じ動作だよね?」という内容があちこちにある。
さらに、やりたいことがやりづらい構造になっている。open URLで指定のURLをオープン(ウィンドウ内に表示)すると、すぐさまAppleScriptに制御が戻ってくる。非同期でコマンドが実行されるようなのだが、終了したことを確認するためにどこのプロパティを調べたらよいか……まあ、表示中のウィンドウだろうなぁ……などと考えて調べてみても、そこにはそのようなプロパティはない。
結局、アプリケーションのプロパティにそういうもの(busy)があって、それを調べる必要があったのだが……なんとも、やりにくい。結局、あまりのやりづらさにGoogleで「すでにサンプルが存在するのではないか」と調べてみたところ……あった。
うーーん、ものすごくやりづらいし分りづらい。ダメダメなレベル……というほどではないのだが、もうちょっとなんとかしたほうがよいのではなかろうか。非同期実行ができるので、複数プロセスを同時に幾つも進行できるようにしたいのではないか、などと考えてみるものだが……真意のほどは図りかねているところだ。
なんにせよ、AS Holeにサンプルを掲載するほどにはまだ枯れてなさそうなので、そのまましばらく放置しておくことにした。