comparison Modules/QuickAuctions.lua @ 62:70dc84df13b3

Updated the QuickAuctions API to use the new API calls. This commit also includes a compatibility layer to maintain backward compatibility so that none of my users have to upgrade QuickAuctions twice before getting any new features.
author Asa Ayers <Asa.Ayers@Gmail.com>
date Tue, 27 Jul 2010 17:52:21 -0700
parents 4ec321eb0dfe
children e7d287cc3b02
comparison
equal deleted inserted replaced
61:b24dbfbe2aef 62:70dc84df13b3
1 local addonName, addonTable = ...; 1 local addonName, addonTable = ...;
2 local addon = _G[addonName] 2 local addon = _G[addonName]
3 3
4 --[[
5 This is simply for compatibility while I change the QA API. Once
6 my changes get merged into the main project, this can go away.
7 ]]
8 if QAAPI ~= nil and QAAPI.GetGroupThreshold ~= nil and QAAPI.GetGroupConfig == nil then
9 function QAAPI:GetGroupConfig(groupName)
10 return QAAPI:GetGroupThreshold(groupName),
11 QAAPI:GetGroupPostCap(groupName),
12 QAAPI:GetGroupPerAuction(groupName)
13 end
14
15 function QAAPI:SetGroupConfig(groupName, key, value)
16 if key == 'threshold' then
17 return QAAPI:SetGroupThreshold(groupName, value)
18 end
19 end
20 end
21
22
23
4 function addon:IsQACompatible() 24 function addon:IsQACompatible()
5 return (QAAPI ~= nil and QAAPI.GetGroups ~= nil) 25 return (QAAPI ~= nil and QAAPI.GetGroupConfig ~= nil)
6 end 26 end
7 27
8 function addon:IsQAEnabled() 28 function addon:IsQAEnabled()
9 return addon:IsQACompatible() and ItemAuditor.db.char.use_quick_auctions 29 return addon:IsQACompatible() and ItemAuditor.db.char.use_quick_auctions
10 end 30 end
64 threshold = max(threshold, itemCost) 84 threshold = max(threshold, itemCost)
65 end 85 end
66 86
67 threshold = calculateQAThreshold(threshold) 87 threshold = calculateQAThreshold(threshold)
68 88
69 QAAPI:SetGroupThreshold(groupName, ceil(threshold)) 89 QAAPI:SetGroupConfig(groupName, 'threshold', ceil(threshold))
70 end 90 end
71 end 91 end
72 92
73 local function isProfitable(data) 93 local function isProfitable(data)
74 if addon.IsQAEnabled() then 94 if addon.IsQAEnabled() then
75 local QAGroup = QAAPI:GetItemGroup(data.link) 95 local QAGroup = QAAPI:GetItemGroup(data.link)
76 if QAGroup ~= nil then 96 if QAGroup ~= nil then
77 local currentInvested, _, currentCount = addon:GetItemCost(data.link) 97 local currentInvested, _, currentCount = addon:GetItemCost(data.link)
78 98 local threshold, postCap, perAuction = QAAPI:GetGroupConfig(QAGroup)
79 local stackSize = QAAPI:GetGroupPostCap(QAGroup) * QAAPI:GetGroupPerAuction(QAGroup) 99 local stackSize = postCap * perAuction
100
80 stackSize = stackSize / GetTradeSkillNumMade(data.tradeSkillIndex) 101 stackSize = stackSize / GetTradeSkillNumMade(data.tradeSkillIndex)
81 102
82 -- bonus 103 -- bonus
83 stackSize = ceil(stackSize *1.25) 104 stackSize = ceil(stackSize *1.25)
84 105
145 -- if QA isn't enabled, this will just return nil 166 -- if QA isn't enabled, this will just return nil
146 local QAGroup = nil 167 local QAGroup = nil
147 if addon.IsQAEnabled() then 168 if addon.IsQAEnabled() then
148 QAGroup = QAAPI:GetItemGroup(itemLink) 169 QAGroup = QAAPI:GetItemGroup(itemLink)
149 if QAGroup ~= nil then 170 if QAGroup ~= nil then
150 stackSize = QAAPI:GetGroupPostCap(QAGroup) * QAAPI:GetGroupPerAuction(QAGroup) 171 local threshold, postCap, perAuction = QAAPI:GetGroupConfig(QAGroup)
172 stackSize = postCap * perAuction
151 stackSize = stackSize / GetTradeSkillNumMade(i) 173 stackSize = stackSize / GetTradeSkillNumMade(i)
152 174
153 -- bonus 175 -- bonus
154 stackSize = ceil(stackSize *1.25) 176 stackSize = ceil(stackSize *1.25)
155 end 177 end