I am currently working on a script to upload hi-res images and also convert them to a lo-res version and save them on a server volume. The script works fine except when the hi-res files are numerous and it takes a while for them to be copied to the server.
The problem I have is how to make the script wait for the upload of the hi-res files before preceeding to the next task without timing out? Is there a “wait for idle” or something that will do this for me without inserting a very long delay?
I would need to put the “wait” after the script starts duplicating the files to the remote volumes. Thanks for any help. Here is the script:
–Insert this script at the cursor of the current Script Editor window.
– Resize PhotoShop Script
– This script was written by Scott Agnoli, agnoli@mac.com 7 July 2004
– This script needs PhotoShop Scripting Additions in order to work properly under PhotoShop 7.X
– Works fine under PhotoShopCS
– This script opens any image file and changes it to a 100dpi pict file
– and then changes the suffix from .pct to .fpo
– Version CS.V2
– Edited 1-16-05, added dialog box supression
– Added target folder and deletion of converted files from desktop
– Version CS.V3
– Edited 1-17-05, added dialog box supression
– Added Duplicate file checks and notification
– Version CS.V4
– Edited 1-19-04, added HiRes uploading
– Version CS.V41
– Edited 1-19-04, Cleaned up and commented script
– group of images is dropped on this script
on open selection
--[i][color=olive] THIS SECTION "SETS UP" LOCATION VARIABLES FOR IMAGES BOTH HI AND LO RES[/color][/i]
--[i][color=olive] finder asks if you have hires to upload also[/color][/i]
[b][color=blue]tell[/color][/b] [color=blue]application[/color] "Finder"
[color=blue]display dialog[/color] "Do you need to upload the HiRes Files?" [color=blue]buttons[/color] {"Yes", "No", "Cancel"}
--[i][color=olive] result is assigned to var ans[/color][/i]
[b][color=blue]set[/color][/b] [color=green]ans[/color] [b][color=blue]to[/color][/b] [b][color=blue]the[/color][/b] [color=blue]button returned[/color] [b][color=blue]of[/color][/b] [b][color=blue]the[/color][/b] [color=blue]result[/color]
--[i][color=olive] if yes, the user is prompted to locate where the hires should go[/color][/i]
[b][color=blue]if[/color][/b] [color=green]ans[/color] [b][color=blue]contains[/color][/b] "Yes" [b][color=blue]then[/color][/b]
[color=blue]display dialog[/color] "Please choose the folder where the Hi-Res should be upoaded to"
[color=blue]choose folder[/color]
--[i][color=olive] folder is chosen by user and var HitargFolder is assigned that location[/color][/i]
[b][color=blue]set[/color][/b] [color=green]HitargFolder[/color] [b][color=blue]to[/color][/b] [color=blue]result[/color]
--[i][color=olive] the images are duplicated to the hires destination[/color][/i]
[color=blue]duplicate[/color] [color=blue]selection[/color] [color=blue]to[/color] [color=green]HitargFolder[/color]
[b][color=blue]end[/color][/b] [b][color=blue]if[/color][/b]
--[i][color=olive] asks where the lores should be placed[/color][/i]
[color=blue]display dialog[/color] "Please choose the folder where the low-res should be placed."
[color=blue]choose folder[/color]
--[i][color=olive] lores folder location is assigned to var targFolder[/color][/i]
[b][color=blue]set[/color][/b] [color=green]targFolder[/color] [b][color=blue]to[/color][/b] [color=blue]result[/color]
[b][color=blue]end[/color][/b] [b][color=blue]tell[/color][/b]
--[i][color=olive] THIS SECTION GATHERS USER INFO FOR USE IN PATH VARIABLES[/color][/i]
--[i][color=olive] gets name of current user[/color][/i]
[b][color=blue]tell[/color][/b] [color=blue]application[/color] "System Events"
[b][color=blue]get[/color][/b] [color=blue]name[/color] [b][color=blue]of[/color][/b] [color=blue]current user[/color]
--[i][color=olive] assigns user name to var myuser[/color][/i]
[b][color=blue]set[/color][/b] [color=green]myuser[/color] [b][color=blue]to[/color][/b] [color=blue]result[/color]
--[i][color=olive] Eliminate >> get myuser[/color][/i]
[b][color=blue]end[/color][/b] [b][color=blue]tell[/color][/b]
--[i][color=olive] sets up variables for temp folder and paths[/color][/i]
[b][color=blue]tell[/color][/b] [color=blue]application[/color] "Finder"
[b][color=blue]set[/color][/b] [color=green]foldName[/color] [b][color=blue]to[/color][/b] "Converted_FPOs"
[b][color=blue]set[/color][/b] [color=green]fold[/color] [b][color=blue]to[/color][/b] [color=blue]folder[/color] "desktop" [b][color=blue]of[/color][/b] [color=blue]folder[/color] [color=green]myuser[/color] [b][color=blue]of[/color][/b] [color=blue]folder[/color] "users" [b][color=blue]of[/color][/b] [color=blue]application[/color] "Finder"
[b][color=blue]get[/color][/b] [color=blue]name[/color] [b][color=blue]of[/color][/b] [color=blue]folders[/color] [b][color=blue]in[/color][/b] [color=green]fold[/color]
[b][color=blue]set[/color][/b] [color=green]foldList[/color] [b][color=blue]to[/color][/b] [color=blue]result[/color]
[b][color=blue]set[/color][/b] [color=green]markerflag[/color] [b][color=blue]to[/color][/b] [color=blue]true[/color]
[b][color=blue]set[/color][/b] [color=green]counterclik[/color] [b][color=blue]to[/color][/b] 1
[b][color=blue]repeat[/color][/b] [b][color=blue]until[/color][/b] [color=green]markerflag[/color] [b][color=blue]is[/color][/b] [color=blue]false[/color]
[b][color=blue]if[/color][/b] [color=green]foldList[/color] [b][color=blue]does not[/color][/b] [b][color=blue]contain[/color][/b] [color=green]foldName[/color] [b][color=blue]then[/color][/b]
[color=blue]make[/color] [color=blue]new[/color] [color=blue]folder[/color] [color=blue]with properties[/color] {[color=blue]name[/color]:[color=green]foldName[/color]} [color=blue]at[/color] [color=green]fold[/color]
[b][color=blue]set[/color][/b] [color=green]markerflag[/color] [b][color=blue]to[/color][/b] [color=blue]false[/color]
[b][color=blue]else[/color][/b]
[b][color=blue]set[/color][/b] [color=green]foldName[/color] [b][color=blue]to[/color][/b] "Converted_FPOs"
[b][color=blue]set[/color][/b] [color=green]counterclik[/color] [b][color=blue]to[/color][/b] [color=green]counterclik[/color] + 1
[b][color=blue]set[/color][/b] [color=green]foldName[/color] [b][color=blue]to[/color][/b] [color=green]foldName[/color] & "_" & [color=green]counterclik[/color]
[b][color=blue]end[/color][/b] [b][color=blue]if[/color][/b]
[b][color=blue]end[/color][/b] [b][color=blue]repeat[/color][/b]
[b][color=blue]set[/color][/b] [color=green]savepath[/color] [b][color=blue]to[/color][/b] [color=blue]folder[/color] [color=green]foldName[/color] [b][color=blue]of[/color][/b] [color=green]fold[/color] [b][color=blue]as[/color][/b] [color=blue]alias[/color]
[b][color=blue]end[/color][/b] [b][color=blue]tell[/color][/b]
--[i][color=olive] sets var myList to what was dropped on app[/color][/i]
[b][color=blue]set[/color][/b] [color=green]myList[/color] [b][color=blue]to[/color][/b] [color=blue]selection[/color]
--[i][color=olive] THIS SECTION RESIZES THE IMAGES[/color][/i]
[b][color=blue]repeat[/color][/b] [b][color=blue]with[/color][/b] [color=green]i[/color] [b][color=blue]from[/color][/b] 1 [b][color=blue]to[/color][/b] [b][color=blue]the[/color][/b] [color=blue]number[/color] [b][color=blue]of[/color][/b] [color=blue]items[/color] [b][color=blue]in[/color][/b] [color=green]myList[/color]
[b][color=blue]set[/color][/b] [color=green]this_item[/color] [b][color=blue]to[/color][/b] [color=blue]item[/color] [color=green]i[/color] [b][color=blue]of[/color][/b] [color=green]myList[/color]
[b][color=blue]tell[/color][/b] [color=blue]application[/color] "Adobe Photoshop CS"
--[i][color=olive] opens var this_item suppressing dialog boxes[/color][/i]
[color=blue]open[/color] [color=green]this_item[/color] [color=blue]showing dialogs[/color] [color=blue]never[/color]
--[i][color=olive] converts the file to 100 dpi[/color][/i]
[color=blue]resize image[/color] [color=blue]current document[/color] [color=blue]resolution[/color] 100 [b][color=blue]with[/color][/b] [color=blue]constrain proportions[/color]
--[i][color=olive] sets the PICT parameters[/color][/i]
[b][color=blue]set[/color][/b] [color=green]pictSave[/color] [b][color=blue]to[/color][/b] {[color=blue]class[/color]:[color=blue]PICT file save options[/color], [color=blue]compression[/color]:[color=blue]high quality JPEG[/color], [color=blue]embed color profile[/color]:[color=blue]false[/color], [color=blue]resolution[/color]:[color=blue]thirty two[/color]}
--[i][color=olive] saves the current document in the destination path with the file options[/color][/i]
[color=blue]save[/color] [color=blue]current document[/color] [color=blue]in[/color] [color=green]savepath[/color] [color=blue]as[/color] [color=blue]PICT file[/color] [color=blue]with options[/color] [color=green]pictSave[/color]
--[i][color=olive] closes the document[/color][/i]
[color=blue]close[/color] [color=blue]current document[/color]
[b][color=blue]end[/color][/b] [b][color=blue]tell[/color][/b]
[b][color=blue]end[/color][/b] [b][color=blue]repeat[/color][/b]
--[i][color=olive] THIS SECTION CONVERTS THE FILE'S SUFFEX FROM .pct to .fpo[/color][/i]
[b][color=blue]tell[/color][/b] [color=blue]application[/color] "Finder"
[b][color=blue]get[/color][/b] [color=blue]name[/color] [b][color=blue]of[/color][/b] [color=blue]files[/color] [b][color=blue]in[/color][/b] [color=green]savepath[/color]
[b][color=blue]set[/color][/b] [color=green]myList[/color] [b][color=blue]to[/color][/b] [color=blue]result[/color]
[b][color=blue]repeat[/color][/b] [b][color=blue]with[/color][/b] [color=green]i[/color] [b][color=blue]from[/color][/b] 1 [b][color=blue]to[/color][/b] [b][color=blue]the[/color][/b] [color=blue]number[/color] [b][color=blue]of[/color][/b] [color=blue]items[/color] [b][color=blue]in[/color][/b] [color=green]myList[/color]
[b][color=blue]set[/color][/b] [color=green]thename[/color] [b][color=blue]to[/color][/b] [color=blue]item[/color] [color=green]i[/color] [b][color=blue]of[/color][/b] [color=green]myList[/color]
[b][color=blue]set[/color][/b] [b][color=blue]the[/color][/b] [color=green]charcount[/color] [b][color=blue]to[/color][/b] [b][color=blue]the[/color][/b] [color=blue]number[/color] [b][color=blue]of[/color][/b] [color=blue]characters[/color] [b][color=blue]of[/color][/b] [color=green]thename[/color]
[b][color=blue]set[/color][/b] [color=green]newname[/color] [b][color=blue]to[/color][/b] ([color=blue]characters[/color] 1 [b][color=blue]thru[/color][/b] -5 [b][color=blue]of[/color][/b] [b][color=blue]the[/color][/b] [color=green]thename[/color]) [b][color=blue]as[/color][/b] [color=blue]string[/color]
[b][color=blue]set[/color][/b] [color=green]newname[/color] [b][color=blue]to[/color][/b] [color=green]newname[/color] & ".fpo"
[b][color=blue]set[/color][/b] [color=blue]name[/color] [b][color=blue]of[/color][/b] [color=blue]file[/color] [color=green]thename[/color] [b][color=blue]of[/color][/b] [color=green]savepath[/color] [b][color=blue]to[/color][/b] [color=green]newname[/color]
[b][color=blue]end[/color][/b] [b][color=blue]repeat[/color][/b]
--[i][color=olive] THIS SECTION COMPARES FILES TO SEE IF THERE ARE DUPS[/color][/i]
[b][color=blue]tell[/color][/b] [color=blue]application[/color] "Finder"
[b][color=blue]get[/color][/b] [color=blue]name[/color] [b][color=blue]of[/color][/b] [color=blue]files[/color] [b][color=blue]in[/color][/b] [color=blue]folder[/color] "Converted_FPOs" [b][color=blue]of[/color][/b] [color=green]fold[/color]
[b][color=blue]set[/color][/b] [color=green]conFiles[/color] [b][color=blue]to[/color][/b] [color=blue]result[/color]
[b][color=blue]get[/color][/b] [color=blue]name[/color] [b][color=blue]of[/color][/b] [color=blue]files[/color] [b][color=blue]in[/color][/b] [color=green]targFolder[/color]
[b][color=blue]set[/color][/b] [color=green]targFiles[/color] [b][color=blue]to[/color][/b] [color=blue]result[/color]
[b][color=blue]repeat[/color][/b] [b][color=blue]with[/color][/b] [color=green]i[/color] [b][color=blue]from[/color][/b] 1 [b][color=blue]to[/color][/b] [b][color=blue]the[/color][/b] [color=blue]number[/color] [b][color=blue]of[/color][/b] [color=blue]items[/color] [b][color=blue]in[/color][/b] [color=green]conFiles[/color]
[b][color=blue]set[/color][/b] [color=green]conItem[/color] [b][color=blue]to[/color][/b] [color=blue]item[/color] [color=green]i[/color] [b][color=blue]of[/color][/b] [color=green]conFiles[/color]
[b][color=blue]if[/color][/b] [color=green]targFiles[/color] [b][color=blue]does not[/color][/b] [b][color=blue]contain[/color][/b] [color=green]conItem[/color] [b][color=blue]then[/color][/b]
[color=blue]move[/color] [color=blue]file[/color] [color=green]conItem[/color] [b][color=blue]of[/color][/b] [color=blue]folder[/color] "Converted_FPOs" [b][color=blue]of[/color][/b] [color=green]fold[/color] [color=blue]to[/color] [color=green]targFolder[/color]
[b][color=blue]else[/color][/b]
[b][color=blue]get[/color][/b] [color=blue]name[/color] [b][color=blue]of[/color][/b] [color=blue]folders[/color] [b][color=blue]in[/color][/b] [color=green]targFolder[/color]
[b][color=blue]set[/color][/b] [color=green]listtargfold[/color] [b][color=blue]to[/color][/b] [color=blue]result[/color]
[b][color=blue]if[/color][/b] [color=green]listtargfold[/color] [b][color=blue]does not[/color][/b] [b][color=blue]contain[/color][/b] "DupFiles" [b][color=blue]then[/color][/b]
[color=blue]make[/color] [color=blue]new[/color] [color=blue]folder[/color] [color=blue]with properties[/color] {[color=blue]name[/color]:"DupFiles"} [color=blue]at[/color] [color=green]targFolder[/color]
[b][color=blue]set[/color][/b] [color=green]dupTarg[/color] [b][color=blue]to[/color][/b] [color=blue]folder[/color] "DupFiles" [b][color=blue]of[/color][/b] [color=green]targFolder[/color]
[color=blue]move[/color] [color=blue]file[/color] [color=green]conItem[/color] [b][color=blue]of[/color][/b] [color=blue]folder[/color] "Converted_FPOs" [b][color=blue]of[/color][/b] [color=green]fold[/color] [color=blue]to[/color] [color=green]dupTarg[/color]
[b][color=blue]else[/color][/b]
[b][color=blue]set[/color][/b] [color=green]dupTarg[/color] [b][color=blue]to[/color][/b] [color=blue]folder[/color] "DupFiles" [b][color=blue]of[/color][/b] [color=green]targFolder[/color]
[color=blue]move[/color] [color=blue]file[/color] [color=green]conItem[/color] [b][color=blue]of[/color][/b] [color=blue]folder[/color] "Converted_FPOs" [b][color=blue]of[/color][/b] [color=green]fold[/color] [color=blue]to[/color] [color=green]dupTarg[/color]
[b][color=blue]end[/color][/b] [b][color=blue]if[/color][/b]
[b][color=blue]end[/color][/b] [b][color=blue]if[/color][/b]
[b][color=blue]end[/color][/b] [b][color=blue]repeat[/color][/b]
[b][color=blue]end[/color][/b] [b][color=blue]tell[/color][/b]
[color=blue]move[/color] [color=blue]folder[/color] "Converted_FPOs" [b][color=blue]of[/color][/b] [color=green]fold[/color] [color=blue]to[/color] [b][color=blue]the[/color][/b] [color=blue]trash[/color]
[color=blue]empty[/color] [color=blue]trash[/color]
[b][color=blue]end[/color][/b] [b][color=blue]tell[/color][/b]
[b][color=blue]tell[/color][/b] [color=blue]application[/color] "Finder"
[b][color=blue]get[/color][/b] [color=blue]name[/color] [b][color=blue]of[/color][/b] [color=blue]folders[/color] [b][color=blue]in[/color][/b] [color=green]targFolder[/color]
[b][color=blue]set[/color][/b] [color=green]notey[/color] [b][color=blue]to[/color][/b] [color=blue]result[/color]
[b][color=blue]if[/color][/b] [color=green]notey[/color] [b][color=blue]contains[/color][/b] "DupFiles" [b][color=blue]then[/color][/b]
[color=blue]display dialog[/color] "Check the files in the 'DupFiles' folder.
There are duplicates"
[b][color=blue]end[/color][/b] [b][color=blue]if[/color][/b]
[b][color=blue]end[/color][/b] [b][color=blue]tell[/color][/b]
end open
[This script was automatically tagged for color coded syntax by Convert Script to Markup Code ]