diff Modules/AuctionHouse.lua @ 89:54b917340283

Ticket 27 - Added the ability to select your preferred auction adodn if multiple are available.
author Asa Ayers <Asa.Ayers@Gmail.com>
date Tue, 10 Aug 2010 23:25:48 -0700
parents
children fab2c4341602
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Modules/AuctionHouse.lua	Tue Aug 10 23:25:48 2010 -0700
@@ -0,0 +1,66 @@
+local ItemAuditor = select(2, ...)
+local AuctionHouse = ItemAuditor:NewModule("AuctionHouse")
+
+local addon_options
+local function getAddons()
+	-- this will ensure that the addons are only scanned once per session.
+	if not addon_options then
+		addon_options = {}
+		local total = 0
+		local lastKey
+		if AucAdvanced and AucAdvanced.Version then
+			addon_options['auctioneer'] = 'Auctioneer'
+			total = total + 1
+			lastKey = 'auctioneer'
+		end
+		if GetAuctionBuyout ~= nil then
+			addon_options['other'] = 'Other (GetAuctionBuyout compatibile)'
+			total = total + 1
+			lastKey = 'other'
+		end
+
+		if total == 1 or not ItemAuditor.db.profile.auction_addon then
+			ItemAuditor.db.profile.auction_addon = lastKey
+		end
+	end
+
+	return addon_options
+end
+
+local function getSelected()
+	-- just making sure ItemAuditor.db.profile.auction_addon is set if there is only one addon
+	if not addon_options then
+		getAddons()
+	end
+
+	return ItemAuditor.db.profile.auction_addon
+end
+
+ItemAuditor.Options.args.auction_house = {
+	name = "Auction House",
+	type = 'group',
+	args = {
+		ah_addon = {
+			type = "select",
+			name = "Addon",
+			desc = "",
+			values = getAddons,
+			get = getSelected,
+			set = function(info, value) ItemAuditor.db.profile.auction_addon = value end,
+			order = 0,
+		},
+	},
+}
+
+function AuctionHouse:GetAuctionPrice(itemLink)
+	local link = select(2, GetItemInfo(itemLink))
+	assert(link, 'Invalid item link: '..itemLink)
+	local addon = getSelected()
+	if GetAuctionBuyout ~= nil and addon == 'other' then
+		return GetAuctionBuyout(link)
+	elseif AucAdvanced and AucAdvanced.Version and addon == 'auctioneer' then
+		local _, _, _, _, _, lowBuy= AucAdvanced.Modules.Util.SimpleAuction.Private.GetItems(link)
+		return lowBuy
+	end
+	return nil
+end
\ No newline at end of file