Insert MPN using Applescript

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

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