スポンサーサイト

Tags :
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ドラッグ&ドロップでブログに画像をアップロードするAppleScript

■追記
このエントリのスクリプトは、FC2Blogがリニューアルで仕様変更されたため動作しなくなっています。
リニューアル後のFC2Blogに対応した改良版は、下記のエントリで公開しています。
ドラッグ&ドロップでFC2ブログに複数の画像をまとめてアップロードするAppleScript その4
■追記ここまで


◆FC2ブログ専用です◆

なんかAppleScriptがメインコンテンツになりつつあります。

OS Xメインで使う様になってしばらく経ちますが、OS 9の時と比べてAppleScriptで出来る事がかなり広がって、今までなら手間が掛かるような事が割と簡単に出来るようになったので、スクリプト書くのが楽しくてしょうがありません。

で、通常ブログサービスでは画像などのファイルをアップロードするのに、管理画面でファイルを1つずつ選んでアップロードする必要がありますが、このスクリプトは複数のファイルをドラッグ&ドロップで一気にアップロードします。

使い方は、ドロップレットとして保存したスクリプトにアップロードしたい画像を一度にドロップすると、ブログの管理画面のパスワードを聞いてくるので(人に見られないように)入力します。シャドウパスワードになっていないので注意が必要。
後は勝手にアップロードが始まり、処理が終わると終了のダイアログが表示されます。数が多いと何も起こってないように見えますが、アップロードは進んでます。
ファイル名や容量、種類等の判定はサーバ側がやってくれるので特に何もしてません。(単にアップされないだけですけど)

サーバへのアクセスはcurlコマンドを使っていて、処理中、cookieを保持するために一時ファイルをホームディレクトリに保存してますが、アップロード後に削除します。
本当は受け取ったcookieを変数に入れて保持するのが良いと思うんですが、内容を整形するのが手間かかりそうだったので今回は見送り(今後の課題)。

現状はFC2ブログ専用ですが、アップロード画面の<FORM>タグに囲まれた範囲の<INPUT>タグの要素を調べてcurlコマンドで渡す様にしてやれば他のサービスにも使えると思います。(でも、ちょっとコード読み辛いですね)

curlコマンドについては以下のサイトを参考にしました。

『curlの使い方』
http://www.big.or.jp/~crane/cocoa/0800_internet/curl/

『cURL - Manual - Japanese Translation』
http://zaurus.catstar.org/misc/curl_manual_ja.html


■動作確認
Mac OS X 10.3.9
AppleScript 1.9.3
curl 7.10.2

■Firefoxからコピペする場合、バックスラッシュを円マークに置換する必要があります
property myURL : "<管理画面のURL>"
--"<ブログのURL>/admin.php"を入れる

property myID : "<ユーザ名>"
--FC2ブログのユーザ名を入れる
 
 
property msg1 : "管理画面のパスワードを入力" as Unicode text
property msg2 : "終了しました。" as Unicode text
property cookieName : "FC2upldr_cookie.txt"--一時保存するcookieのファイル名

on open drop
   if cookieName contains "*" then
      beep
      display dialog "cookieNameが不適切です。" as Unicode text
      error number -128
   end if
   activate me
   set myPass to text returned of (display dialog msg1 default answer "")
   
   repeat with theFile in drop
      tell application "Finder"
         set fPath to POSIX path of theFile as Unicode text
      end tell
      
      set loginScript to "curl -d \"id=" & myID & "&pass=" & myPass & "&mode=admin\" -c ~/" & cookieName & " -L " & myURL
      set uploadScript to "curl -b ~/" & cookieName & " -F \"upfile=@" & fPath & "\" -F  mode=upload -L " & myURL
      
      do shell script loginScript
      do shell script uploadScript
   end repeat
   
   do shell script "rm -f ~/" & cookieName
   beep
   display dialog msg2 default button 1 buttons "OK" 
   
end open
関連記事
スポンサーサイト

トラックバック


この記事にトラックバックする(FC2ブログユーザー)

ドラッグ&ドロップでブログに画像をアップロードするAppleScript

・Mac OSXで・このFC2を使っていて・複数枚の写真を一気にアップしたい!という人用の、アップルスクリプトです。このソースを使って、アプリを自分で作ります。そのアプリに、アップロードしたいファイルをが

AppleScript For FC2 Blog

ただでさえ話題が飛びすぎるブログでMacネタになると自分が止められない収拾つかないそんな感じもしてきたので、別館を建てました~同じ理由で写真館も   →<iPod&MacBook Paradise>    <PowerShot

ブラウザを使わないでブログ投稿してみる

ブログってなにげに結構メンドくさい。定期更新できそうもないので、&lt;?chocolife&gt;さんとこにあったAppleScriptを元に、新規管理画面にアクセスするシェルスクリプトを作ってみた。 MacO...

コメント

非公開コメント

はじめまして

FC2ブログを持っているMacBooks初心者です。
スクリプトエディタを開いてチャレンジしてみたのですが
撃沈~しました。
わからなくて困っています。
手順を教えて頂ければうれしいです。
よろしくお願いします。

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

ごめんなさいレス遅くなりました

すみません、コメントの通知機能がOFFになってたもので、コメントされている事に気が付きませんでした。

それで、スクリプトの方ですが、チェックして頂きたい事が2点あります。

1つ目は、スクリプトの1行目、

<管理画面のURL>

の部分が

http://~

で始まる形式に書き換えられているかどうかなんですが、うちのblogの場合ですと1行目は、

property myURL : "http://blog80.fc2.com/chocolife/admin.php?mode=admin"

になります。



2つ目は、スクリプトエディタで見た時に、28行目あたりの、

set loginScript to "curl -d \"id=" & myID & "&pass=" & myPass & "&mode=admin\" -c ~/" & cookieName & " -L " & myURL
set uploadScript to "curl -b ~/" & cookieName & " -F \"upfile=@" & fPath & "\" -F mode=upload -L " & myURL

に『円マーク』が見えているかどうかです。
もし『円マーク』が見えていれば、それは本来、『バックスラッシュ』でないといけないものが、文字化けしてしまっているので、スクリプトエディタ上で検索、置換してやらないといけません。

とりあえず今の所考えられるのはこの2点になります。

ご確認よろしくお願いします。

ありがとうございます♪
只今、ご指摘の2カ所を観てみましたら
・urlに<>がついたまま
・バックスラッシュのまま
という二つの間違いをしていました(><)

修正後、トライしたところ
大成功!画像がアップロードされました~
大感激です♪

choco さんの記事で出会えたことで
AppleScriptについて知ることができました
とっても感謝しています
関連記事を後日書きたいと想います
その際はトラバさせてください

本当にありがとうございました♪

無事に動作したようで一安心です。

うちのスクリプトは基本的には自分用に書いた物ばかりで、割と書きっぱなしと言いますか、スクリプトを書く際の参考に見てもらえれば…位の感じで公開しているので、少し説明が足りなかったですね。

あと、あまり細かい動作チェックは出来ておらず、使い方や環境によってはおかしな動作をする事があるかも知れませんので、その辺は御容赦下さい。(気が付いた部分は修正して行こうと思ってます)

需要があればもう少しちゃんとしたのを作った方が良いかも知れませんね。

それでは、今後ともよろしくお願いします。

初めまして!
いつもイライラしていたFC2での複数ファイルアップロードが
とても快適にできるようになりました。
大変感謝しています。
よろしければこちらの記事を紹介させていただきたいと思うのですが、
ご了解いただけますでしょうか。
(私のブログは昆虫の写真がメインです。もし苦手なようでしたら覗かない方が・・・)
このスクリプトはおそらくFC2+Macユーザーな人にとっては
絶大な福音だと思います!!

KOH16さま、レス遅くなり申し訳ありませんでした。コメントありがとうございます。
やはり写真をメインに扱っておられる方にはFC2の管理画面はやや不便なようですね…

記事の紹介をしていただくのは全く問題ありませんのでよろしくお願いします。また、このスクリプトはそれなりに需要があるようですので、もう少しちゃんと作り直したものを新しいエントリにアップする予定です。

chocoさま
紹介記事書かせていただきました。
新型も楽しみにしております!!
ありがとうございました。

ありがとうございました

はじめましてこんばんはtakao_bwと申します。
KOH16さんのご紹介で、試させていただきました。
ラクチンラクチン!!活用させていただきます。
どうもありがとうございました(`◇´)ゞ
Profile
choco
Author : choco

印刷・製版の現場を経て、広告制作会社でPhotoshopを使ったビジュアル制作を担当。

→現在は車載機器開発ベンダにて、組み込み3Dデータ作成やUIデザインなどを行っています。

Categories
Favorites


Search
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。