Old script stalls, maybe needs update?
Old script stalls, maybe needs update?
- Subject: Old script stalls, maybe needs update?
- From: Rosemary Cantrell <email@hidden>
- Date: Fri, 12 Mar 2010 11:19:15 -0600
Hi all - I tried posting this a couple days ago but I'm not positive
it went through. Sorry if this is a repost.
I've been using a script to use folder actions to automate the
creation of PDFs from InDesign files. I found one a few years ago on
the exchange and we modified slightly to suit our purposes.
We just upgraded all of our systems to new iMac's so they are running
OSX version 10.6.2
We are running into problems periodically where it doesn't recognize
that the new item has been dropped in the folder and just does
nothing. Even after repeat attempts. Eventually if we close the
window it will sometimes come out of it.
I got to be thinking that maybe the script needs to be updated to work
better in the new OSX. Would someone take a look at the following
script and tell me if I need to fix / update anything to run better in
Snow Leopard? I don't know much about scripting
Thank you in Advance!
-Rosie
property done_foldername : "PDF Files"
property originals_foldername : "Original Indd Files"
property newimage_extension : "pdf"
-- the list of file types which will be processed
-- eg: {"PICT", "JPEG", "TIFF", "GIFf"}
property type_list : {"indd"}
-- since file types are optional in Mac OS X,
-- check the name extension if there is no file type
-- NOTE: do not use periods (.) with the items in the name extensions list
-- eg: {"txt", "text", "jpg", "jpeg"}, NOT: {".txt", ".text", ".jpg", ".jpeg"}
property extension_list : {"indd"}
on adding folder items to this_folder after receiving these_items
tell application "Finder"
if not (exists folder done_foldername of this_folder) then
make new folder at this_folder with properties {name:done_foldername}
end if
set the results_folder to (folder done_foldername of this_folder) as alias
if not (exists folder originals_foldername of this_folder) then
make new folder at this_folder with properties {name:originals_foldername}
set current view of container window of this_folder to list view
end if
set the originals_folder to folder originals_foldername of this_folder
end tell
try
repeat with i from 1 to number of items in these_items
set this_item to item i of these_items
set the item_info to the info for this_item
if (alias of the item_info is false and the file type of the item_info
is in the type_list) or (the name extension of the item_info is in the
extension_list) then
tell application "Finder"
my resolve_conflicts(this_item, originals_folder, "")
set the new_name to my resolve_conflicts(this_item, results_folder,
newimage_extension)
set the source_file to (move this_item to the originals_folder with
replacing) as alias
end tell
process_item(source_file, new_name, results_folder)
end if
end repeat
on error error_message number error_number
if the error_number is not -128 then
tell application "Finder"
activate
display dialog error_message buttons {"Cancel"} default button 1
giving up after 120
end tell
end if
end try
end adding folder items to
on resolve_conflicts(this_item, target_folder, new_extension)
tell application "Finder"
set the file_name to the name of this_item
set file_extension to the name extension of this_item
if the file_extension is "" then
set the trimmed_name to the file_name
else
set the trimmed_name to text 1 thru -((length of file_extension) + 2)
of the file_name
end if
if the new_extension is "" then
set target_name to file_name
set target_extension to file_extension
else
set target_extension to new_extension
set target_name to (the trimmed_name & "." & target_extension) as string
end if
if (exists document file target_name of target_folder) then
set the name_increment to 1
repeat
set the new_name to (the trimmed_name & "." & (name_increment as
string) & "." & target_extension) as string
if not (exists document file new_name of the target_folder) then
-- rename to conflicting file
set the name of document file target_name of the target_folder to the new_name
exit repeat
else
set the name_increment to the name_increment + 1
end if
end repeat
end if
end tell
return the target_name
end resolve_conflicts
-- this sub-routine processes files
on process_item(source_file, new_name, results_folder)
-- NOTE that the variable this_item is a file reference in alias format
-- FILE PROCESSING STATEMENTS GOES HERE
try
-- the target path is the destination folder and the new file name
set the target_path to ((results_folder as string) & new_name) as string
with timeout of 900 seconds
tell application "Adobe InDesign CS3"
launch -- always use with Folder Actions
set this_image to open file (source_file as string)
-- remove dashes to activate dialog hooks
--display dialog "Please choose format:" buttons {"Screen", "Print"}
tell PDF export preferences to set page range to all pages
export this_image format PDF type to target_path using "ADMR Standard"
without showing options
close this_image saving no
end tell
end timeout
on error error_message
tell application "Finder"
activate
display dialog error_message buttons {"Cancel"} default button 1
giving up after 120
end tell
end try
end process_item
_______________________________________________
Do not post admin requests to the list. They will be ignored.
AppleScript-Users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
Archives: http://lists.apple.com/archives/applescript-users
This email sent to email@hidden