Archive for the 'Cyberduck' Category

11/25 cyberduckでファイルのアップロード

FTP/SFTPクライアントソフト「Cyberduck」で、ファイルのアップロードを行うサンプルAppleScriptです。

サーバーのアドレス、ユーザー名、パスワードなどはサーバーに合わせて書き換えてください。

Cyberduckは、豊富なAppleScript命令を持っており、FTP転送のみならずとくにSFTPの転送が行えるため非常に有用性の高いソフトですが……Snow Leopard対応版のv3.3ではAppleScript系の機能に問題があるようで、まだAS系機能はイネーブルになっていません。

とりあえず、Mac OS X 10.4や10.5であればCyberduckのコントロールは行えます。

スクリプト名:cyberduckでファイルのアップロード
set theServer to "192.168.0.1"
set theUser to "username"
set thePassword to "password"
set theProtocol to "sftp" –ftp or sftp
set theUploadFolder to "/var/tmp/Upload/"

set aFile to choose file

with timeout of 300 seconds
  tell application "Cyberduck"
    set theBrowser to (make new browser)
    
tell theBrowser
      set encoding to "UTF-8"
      
connect to theServer with protocol theProtocol as user theUser with initial folder theUploadFolder with thePassword
      
upload item aFile
      
disconnect
    end tell
    
    
close every browser
  end tell
end timeout

▼新規書類に ▼カーソル位置に ▼ドキュメント末尾に

11/19 Cyberduck 3.3のAppleScript非対応はケアレスミス?

cyberd.jpg

FTP/SFTPなどの多機能対応ファイル転送クライアント「Cyberduck」は、かつてのClassic Mac OS時代における「Fetch」のポジションにあるMac OS X用の超定番FTP転送ソフトですが、このソフトのAppleScript対応機能がv3.3betaで失われていたことを確認していました。

あるAppleScriptの開発でSFTPサーバーにファイルのアップロードを指定されたので、Cyberduckで転送するようにしてみたところ……Snow Leopard対応のCyberduck 3.3betaがAppleScriptから命令を受け付けないことが分かり、あわてて古いバージョンをダウンロードした次第。

2009年11月13日、待ちに待ったv3.3の正式版がリリースされましたが、これもScriptableになっていないので……不思議に思ってCyberduckのバンドル・パッケージ内部を調べてみると……AppleScript用語辞書ファイルであるsdefファイルが転がっており、アプリケーション自体はScriptableになっている雰囲気が濃厚。

まさかと思ってInfo.plistを調べてみると……

infoplist.jpg

Scriptableのスイッチが入っていません(汗) 書き直して再度立ち上げてみると、何事もなかったようにAppleScriptエディタで辞書をオープンすることができました。バグレポートをしておいたので、じきに直ることでしょう。修正を待てないという方は、CyberduckのバンドルをFinder上で開けて、Plist EditorでInfo.plistのエントリを書き換えてみてください。

追記:

v3.3では一部のオブジェクトをAppleScriptから指定できないようです。アプリのバージョンを取得したりプロパティを取得するぐらいなら問題なく実行できますが、なぜか「browser」オブジェクトにアクセスしようとするとエラーになります(それでは何もできません)。

この問題をクリアできていないために、暫定的にScriptableでなくしているのではないか? という可能性も出てきました。

10/26 Cyberduck 3.3b4がAppleScriptに非対応

Mac OS X用のFTP/SFTPクライアント「Cyberduck」はAppleScriptに対応しており、あらかじめブックマークに登録しておいた接続先をオープンしたり、任意の接続先をオープンしたりして、ファイルのアップロード/ダウンロードができます。

リリース版をダウンロードすると、一緒にサンプルのAppleScriptが添付されているため、すぐにScriptingを開始できるという親切設計。

ただし、Snow Lepard対応の3.3b4はScriptableにするための機能実装が間に合っていないためか、AppleScriptから制御できません。

Snow Leopard上でSFTPのサーバーに対してファイルのアップロード/ダウンロードを行うソリューションを実現するためには、もう少し時間が必要なようです。もちろん、それ以前のOSであれば(10.4/10.5)とくに問題はありません。バージョン3.2.1をインストールすることで、すぐにSFTPへの自動アップロード/ダウンロードをAppleScriptから実行できます。