Item-Specific Attributes Problem

I am attempting to upload a large number of old books to list on Ebay. I can format a CSV spreadsheet to correctly pick up standard eBay fields such as Title and Description, but when I try to use the “Attribute” field with tags like Place of Publication, Year Printed, Publisher, etc., they don’t get uploaded to Garage Sale.

Worse, there seems to be some default items there at the top of the draft from a pick list that seems almost random. I’m clearly missing something, but what?

You are trying to import a CSV file by using the “Import Listing” command in GarageSale, did I get this correctly?
Please see the screenshot here where you can see how to import Attributes from CSV:

Does this help you?

No, because in my case, for a book, I’m trying to import specifics like “Publisher” and “Year Printed”, and those options don’t show up in the tooltip.

-David

In your CSV do you have specified a column for “Publisher” and a column for “Year Printed” (with its values)?
If yes, you can simply select them as shown in the screenshot here for “Color | White”:

Yes, I have those columns in the CSV, but even when I specify them as you are showing, the specific attributes (unlike the standard eBay fields shown in the tooltip) are not being imported. I’ve attached screen shots showing the Import Dialog and the resulting record imported into Garage Sale. In the example shown, the file contains values for the 5 specific fields shown, but instead of importing them into the record, those five item specifics simply show fields that seem to be defaulting to some sort of pick list, rather than the imported values for that record.

1 Like

Thank you for posting the screenshot, now I get it.

My guess is that there somehow is an issue with your CSV. Maybe it has to do with the square brackets?
For test purposes you could try to create a CSV that only contains one single listing. Try to import it in GarageSale. If it still won’t work, feel free to post that CSV here so I can have a closer look.

I don’t upload item attributes for any items, including antique books.

Commonly required item attributes with templates are already filled out with “N/A” or something similar.

The AppleScript below will create a list of commonly shared attributes based on if the item is a Media item (book, record, cassette) or a non Media item.

This script will hide GS while it runs because you do not want to be altering the listings that are selected during this operation. It then makes GS become visible after its done. The amount of time GS is not visible will depend on the amount of listings you select and the processing power of your computer. Testing it on small duplicate groups of listings would be suggested.

The AppleScript is written to work specifically with “Garage 9.8.1” which is what I renamed that version of GS so you may need to change the lines referring to GS to whatever its named on your computer.

Test in the Script Editor and if compile as an app its useful as it should run faster as an app.

You can add or delete other attributes as needed.

set theCatChoices to {"Media", "Non Media"}

set theFavoriteCat to choose from list theCatChoices with prompt "Select Attribute List:" default items {"Non Media"}

if theFavoriteCat is false then
	return
end if

tell application "System Events" to tell process "GarageSale" to set visible to false


tell application "GarageSale 9.8.1"
	
	repeat with theListing in (get selected ebay listings)
		
		tell theListing
			
			set emptyString to ""
			
			set SpecList to item specifics of the theListing
			
			if SpecList ≠ emptyString then
				
				set SpecCount to count of SpecList
				
				repeat with i from 1 to SpecCount
					
					try
						set theSpecItem to specific name of item i of SpecList
						set theSpecific to remove item specific specific name theSpecItem
					end try
					
				end repeat
				
			end if
			
		end tell
		
	end repeat
	
end tell

tell application "GarageSale 9.8.1"
	
	repeat with theListing in (get selected ebay listings)
		
		tell theListing
			
			if item 1 of theFavoriteCat is "Media" then
				
				set theSpecific to add item specific specific name "Author" values {"N/A"}
				set theSpecific to add item specific specific name "Book Title" values {"N/A"}
				set theSpecific to add item specific specific name "ISBN" values {"N/A"}
				set theSpecific to add item specific specific name "Language" values {"N/A"}
				
			else if item 1 of theFavoriteCat is "Non Media" then
				
				set theSpecific to add item specific specific name "Brand" values {"N/A"}
				set theSpecific to add item specific specific name "Color" values {"N/A"}
				set theSpecific to add item specific specific name "Height" values {"N/A"}
				set theSpecific to add item specific specific name "Lenth" values {"N/A"}
				set theSpecific to add item specific specific name "Material" values {"N/A"}
				set theSpecific to add item specific specific name "MPN" values {"N/A"}
				set theSpecific to add item specific specific name "Size" values {"N/A"}
				set theSpecific to add item specific specific name "Style" values {"N/A"}
				set theSpecific to add item specific specific name "Type" values {"N/A"}
				set theSpecific to add item specific specific name "Width" values {"N/A"}
				
			end if
			
		end tell
		
	end repeat
	
end tell

tell application "System Events" to tell process "GarageSale" to set visible to true

OK, that worked! (pretty much). I made some tweaks, ran it against the listings file, then re-imported the CSV using “update”, and assigning the attribute names. So far so good. What I’d like to do now is use Applescript to remove the Starting Bid field from each listing, since they’re all going to be GTC. I tried using “remove specific field “Starting Bid”, but it didn’t seem to have any effect. Is there a way to do this? Thanks!

This will uncheck the checkbox next to the left of the Starting Bid text field:

tell application "GarageSale 9.8.1"
	repeat with theListing in (get selected ebay listings)
		set the use starting bid of theListing to false
	end repeat
end tell

This will check the same checkbox:

tell application "GarageSale 9.8.1"
	repeat with theListing in (get selected ebay listings)
		set the use starting bid of theListing to true
	end repeat
end tell

If you also want to zero out the Starting Bid price you add another line to the above code:

tell application "GarageSale 9.8.1"
	repeat with theListing in (get selected ebay listings)
		set the use starting bid of theListing to false
		set the starting bid price of theListing to "0.00"
	end repeat
end tell

Change the line referencing GS to whatever its named on your computer. I rename each version by adding the version number.

This AppleScript should:

Copy the starting bid price to the buy it now text field, but only if its not zero.

Enable the Buy It Now checkbox.

Set the Starting Bid Price to 0.00

Disable the Starting Bid checkbox

tell application “GarageSale 9.8.1”

repeat with theListing in (get selected ebay listings)

if the starting bid price of theListing is not 0 then

set the buy it now price of theListing to the starting bid price of theListing

end if

set the use starting bid of theListing to false

set the starting bid price of theListing to “0.00”

set the use buy it now of theListing to true

end repeat

end tell

That’s helpful, thanks (and I’m beginning to get the hang of Applescripting). One tangentially related question: for fields in which I didn’t have values in the imported CSV, I’m grabbing information from other sources and trying to paste it into fields in the record in GS. However, I’ve found that several fields —while I can hand-type the entry—do not support pasting in text from the clipboard. Is there a way around this? Is there some reason why pasting isn’t allowed? Thanks.

I am not expert as I have no formal training in any programming, but have picked up bits here and there.

It might be an issue with text encoding. The program from which you are copying the text may be encoding the text in a given format so it can translate that encoding into different fonts, bold text, text sizes, text colors and so forth.

If you then attempt to paste the encoded text from your clipboard into a another program that does have the ability to recognize that encoding then you might see a bunch of gibberish characters or nothing at all.

Some programs allow you to copy text to the clipboard in different formats such as plain text or rich text (i.e., colors, mixed fonts and sizes) to get around this. Some programs also allow you to paste the contents according to different formats - i.e., the text is transformed being being pasted (such as paste as plain text, HTML, rich text).

With AppleScript you might have to change the encoding of the text before its outputted to where its needed.

You could try opening a new TextEdit document and set it to plain text and paste the text in there and then recopy it. Kind of slow, but perhaps that would show its an encoding issue.

For fields that don’t appear to allow pasting, double check that the field stays active. I’ve noticed many text fields in GS that, after clicking into them, focus is lost, and the cursor is no longer in the field. Clicking into the field again keeps the focus, and then one is able to type or paste text.

Yup, that’s the problem. If I convert the copied text to plain text, the paste works correctly. So this should probably be filed as a bug report, because standard procedure for applications should be ignore any non-text portions of the clipboard and just paste the text. Thanks for your help!

1 Like

If you then attempt to paste the encoded text from your clipboard into a another program that does NOT have the ability to recognize that encoding then you might see a bunch of gibberish characters or nothing at all.

LOL, I noticed a typo in that paragraph - they key word “not” is missing.

Instead of using keyboard shortcut command-v (paste) you could give shift-option-command-v (“paste and match style”) a try. This way you don’t have convert your rich text to plain text.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.