Insert MPN using Applescript

Hi Rufus,

Here something I built to let you insert item specifics through AppleScript. The syntax is somewhat ugly, because the way GarageSale stores item specifics maps very badly to AppleScript. It looks like this:

 tell application "GarageSale"
    setSpecific of first selected template with name "MPN" to value "123-456"
 end tell

Here is the link to the version with this feature:
http://downloads.iwascoding.com/downloads/GarageSale_6_2015-07-23.zip

Hope this helps,
Ilja

Hi Ilja,

That is just fantastic. It works a treat! Thank you so much. I will be adjusting our scripts tomorrow.

Superb as ever!

Thanks again.

Rufus

Hi Ilja,

Is there also a corresponding getSpecific command???

Like: getSpecific of first selected template with name “MPN”

Thanx,
Neal

Hi Ilja,

Or better yet: “getSpecific of first selected template” to get a list of all Attribute “names” and “values” like:
Brand: Atlas
Type: Diesel Locomotive
MPN: 123456789012

Thanx,
Neal

Hi Ilja,

And even better still:

How about AppleScript get and set for the Barcode field also???

And the Condition (New/Used) field.

This way people can insert the Barcode just like the MPN.
And I can find all templates that are New and do not have a Barcode nor a MPN.

:slight_smile:

Thanx,
Neal

Give them a finger, and they’ll take the whole hand. :wink:

I just looked up GarageSale’s scripting dictionary in the Script editor, and ‘condition’ and ‘barcode’ are already there in the ‘template’ class.

Hi Ilja,

OH!! GREAT!

Sorry, guess I missed that…

Thank You! :wink:

Neal

Hi Ilja,

Well… AppleScript Dictionary error/bug:

In Script Editor Paste in this script:
tell application "GarageSale"
get barcode of selected templates
end tell

The click Run and script becomes:
tell application "GarageSale"
get bid count of selected templates
end tell

:smile:

Neal

:frowning: Should be fixed here:

http://downloads.iwascoding.com/downloads/GarageSale_6_2015-07-24_1.zip

Hi Ilja,

Works Great!!!

Thanx!!!
Neal

Just like to say thank you as well for adding the SETSPECIFIC command - absolutely wonderful and something I’ve wanted to see for a long time.

I also second Neal’s request if additional applescript commands could be added for attributes, such as a GETSPECIFIC - that way the existence and value of attributes can be checked allowing changes to be made dependent on the existing value or existence of a particular attribute.

The SETSPECIFIC is great but difficult to use in bulk as it automatically adds the attribute if it doesn’t already exist, something which is not always desirable.

Hi Ilja,

In GarageSale 6.9.8, could you PLEASE add the corresponding getSpecific AppleScript command:

So I can find all “old/outdated” Attributes:Custom Details fields in all my 11,000+ templates and remove or change them.

This will Greatly help in the cleanup of my MANY 11,000+ old templates before converting to the new GarageSale 7.

to get a list of all Attribute “names” and “values” like:
Brand: Atlas
Type: Diesel Locomotive
MPN: 123456789012

tell application “GarageSale”
getSpecific of first selected template
end tell

Or at least to get one named attribute:
123456789012

tell application “GarageSale”
getSpecific of first selected template with name “MPN”
end tell

“As mikeytttt also said:”
I also second Neal’s request if additional applescript commands could be added for attributes, such as a GETSPECIFIC - that way the existence and value of attributes can be checked allowing changes to be made dependent on the existing value or existence of a particular attribute.

The SETSPECIFIC is great but difficult to use in bulk as it automatically adds the attribute if it doesn’t already exist, something which is not always desirable.

Thanx a Bunch!!
Neal

Sorry, but I don’t think we’ll be adding this feature any time soon.

At the moment our highest priority is getting GarageSale 7 out of the door, which already has the capability of querying specific through AppleScript.

Hi Ilja,

I’ve been trying to extend the use of the setSpecific command and it is working wonderfully. One query though, where an item specific is a multi-select is ot possible to use this command to enter more than 1 value?
I’ve been trying various different syntax versions but haven’t found one yet.

An example might be for the ItemSpecific “Additional Inputs/Outputs”.

I have tried

setSpecific of first selected template with name “Additional Inputs/Outputs” to value "Analog In"
setSpecific of first selected template with name “Additional Inputs/Outputs” to value "Analog Out"
setSpecific of first selected template with name “Additional Inputs/Outputs” to value “MIDI I/O”

but it just overwrites each time. Any bright ideas?

Thanks for your help.

Cheers

Rufus

Hi Rufus,

it’s just a guess but did you already tried something like this?:

setSpecific of first selected template with name “Additional Inputs/Outputs” to value “Analog In, Analog Out, MIDI I/O”

Regards, Kristian

Hi Kristian,

It’s a good thought and yes I have tried it but sadly it just adds a single line with the value Analog In, Analog Out, MIDI I/O rather than 3 different lines.
I also tried separating the values with a carriage return and a semi-colon but no luck.

Any other suggestions?

Thanks

Rufus

I don’t think there’s another way to do this.

However, if you need separate lines it might be needed to use slightly different names, like this:

setSpecific of first selected template with name “Additional Inputs/Outputs” to value “Analog In”
setSpecific of first selected template with name “Additional Inputs/Outputs #2” to value “Analog Out”
setSpecific of first selected template with name “Additional Inputs/Outputs #3” to value “MIDI I/O”

Regards, Kristian

Hi Kristian,

Ah, fair enough. There’s a thought. I’ll give that a try and see how it looks.

Thanks for your help

Rufus

hi, I have the same problem, could you please send me the script?