Insert MPN using Applescript

Hi,

is there anyway we can use Applescript to insert the, newly required, MPN field into a Garagesale template using Applescript?

Thanks for your help.

Rufus

Hi,

This is beginning to prove a bit of a problem as all my saved templates need editing. Does anyone have any thoughts on how to do this or a work around?

Thanks

Rufus

You cannot add additional item specifics like MPN through AppleScript at the moment.

Can you give me some details how your process is?

I suppose you use AppleScript to create new templates from some kind of other database, which knows the MPN for the item you are selling?

Hi Ilja,

Thanks for getting back to me. Yes, you’re absolutely right. We’re using Filemaker Pro as our main data source and have written an Applescript that can make the template for each product which we can then save for re-use later adjusting price/quantity etc by Applescript when required. I’ve noticed that in the last days eBay have started rejecting listings that don’t have the MPN attribute. If on creation of a template this attribute to default to "Does Not Apply” that would be a help but ideally we’d be able to it programmatically so all our older templates could be adjusted. Obviously it would be better if we could actually input the correct MPN but the main thing is to stop the listings getting rejected.

Any thoughts?

Thanks

Rufus

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