BadPirate
BadPirate

Reputation: 26177

Persistent variable storage in Automator

Is it possible to store a persistent value in an automator workflow (specifically for a service flow)?

It seems that regular automator variables are not persistent; for instance trying to use an applescript chunk which has a property (which normally persists) does not actually persist the property in Applescript either (works in testing, but when you run the service the value doesn't persist).

Any ideas?

Upvotes: 2

Views: 1713

Answers (1)

adayzdone
adayzdone

Reputation: 11238

You can use script objects to store your data in an out of the way place.

Automator

on run
    -- Path of script which holds data
    set thePath to (path to desktop as text) & "myData.scpt"
    --set thePath to (path to preferences as text) & "myData.scpt" -- better

    script theData
        property xxx : missing value
    end script

    try
        set theData to load script file thePath
    on error
        -- On first run, set the initial value of the variable
        set theData's xxx to 5
    end try

    -- change the value of the variable
    set theData's xxx to (theData's xxx) + 1

    -- save your changes
    store script theData in file thePath replacing yes
    return theData's xxx
end run

Upvotes: 7

Related Questions