[ This article came as a response to an inquiry about how to
send a Compressor file to multiple servers — June, 2007. ]
This original question came from LAFCPUG. It was about how to upload a file automatically after Compressor has finished converting a file. After the problem had been solved using Transmit there were some questions left open like: how to upload to multiple servers. Below my answer which might be interesting for others as well.
I’m working on a similar problem and got it solved today, below the script text which should work for Compressor and might solve the problem of multiple upload locations, though Compressor might be faster than the uploads and the script might hang if you got a lot of files in the Compressor batch list.
property urlData : “/urlData.txt”
on open names
set urlList to every paragraph of (read POSIX file (urlData))
repeat with myUrl in urlList
my sendfile(names, myUrl)
on sendfile(names, myUrl)
set AFile to quoted form of (POSIX path of names)
set baseName to (do shell script “basename ” & AFile)
set remotePath to quoted form of (myUrl & baseName) as string
if baseName ends with “.txt” then
set bin to ” -B”
set bin to “”
set shellScript to “curl” & bin & ” -T ” & AFile & ” ” & remotePath & ” 2>&1″
set theResult to (do shell script shellScript)
set logFile to “/ftp_Log.txt”
set thisFile to POSIX file logFile
set theResult to (current date) & tab & baseName & return & theResult & return & return
my write2File(thisFile, theResult, true)
on write2File(thisFile, thisData, appendData)
set thisData to thisData as string
set the targetFile to (the thisFile as text)
set the openTargetFile to open for access file targetFile with write permission
if appendData is false then
set eof of the openTargetFile to 0
write thisData to the openTargetFile starting at eof
close access the openTargetFile
close access file targetFile
— end script
paste this code into ScriptEditor and save as application.
For the different upload locations create a plain text file named “urlData.txt”
make sure you modify the values in the script according to the file path of this file
The file should look like below:
Be aware that your passwords are visible in this file for everybody!!!!!!!!!!!!!!!!![u][/u]
If you got different curl apps you also should modify the “set logFile …” in the script.
A log file will look like this:
Mittwoch, 13. Juni 2007 23:20:31 Uhr Sequence 2-H.264 for iPod Video 320×240 (QVGA).m4v
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
74 21889 0 0 74 16384 0 15753 0:00:01 0:00:01 –:–:– 15753
100 21889 0 0 100 21889 0 10726 0:00:02 0:00:02 –:–:– 5505
100 21889 0 0 100 21889 0 8795 0:00:02 0:00:02 –:–:–
The above shows that I didn’t take care of file naming in the script (a lot of spaces in there – no good if somebody wants to access the files from a web browser. You should do.
You also can add some formating to the logs.
Though this source code is free I would be happy if people donate something to a charity institution for childs. The above may save them valuable time and the 29.95 USD for Transmit – though I think Transmit is a very useful app you should have anyway.
Tel.: +49 (0)721 183 9753
eFax: +1 650 897 8094
http://spherico.com/filmtools — workflow tools for FCP
NEW & Updated!
Edit smarter with Larry’s latest training, all available in our store.