Asa@3: local addonName, addonTable = ...; Asa@3: local addon = {} Asa@3: Asa@3: local AceConsole = LibStub("AceConsole-3.0") Asa@3: AceConsole:Embed(addon) Asa@3: Asa@3: addonTable.utils = addon Asa@9: IAUtils = addon Asa@3: Asa@3: function addon:FormatMoney(money) Asa@6: local prefix = "" Asa@6: if money < 0 then Asa@6: prefix = "-" Asa@6: end Asa@6: return prefix .. Altoholic:GetMoneyString(abs(money), WHITE, false) Asa@6: end Asa@6: Asa@8: -- This is only here to make sure this doesn't blow up if ReplaceItemCache is never called Asa@7: local item_db = {} Asa@7: Asa@7: function addon:ReplaceItemCache(new_cache) Asa@7: item_db = new_cache Asa@7: end Asa@7: Asa@7: -- This will be reset every session Asa@7: local tmp_item_cache = {} Asa@7: function addon:GetItemID(itemName) Asa@7: if item_db[itemName] ~= nil then Asa@7: return item_db[itemName] Asa@7: end Asa@7: Asa@7: if tmp_item_cache[itemName] == nil then Asa@7: local _, itemLink = GetItemInfo (itemName); Asa@7: if itemLink ~= nil then Asa@7: local _, _, _, _, itemID = string.find(itemLink, "|?c?f?f?(%x*)|?H?([^:]*):?(%d+):?(%d*):?(%d*):?(%d*):?(%d*):?(%d*):?(%-?%d*):?(%-?%d*):?(%d*)|?h?%[?([^%[%]]*)%]?|?h?|?r?") Asa@7: tmp_item_cache[itemName] = tonumber(itemID) Asa@7: end Asa@7: end Asa@7: Asa@9: if tmp_item_cache[itemName] == nil then Asa@9: for link, data in pairs(ItemAuditor.db.factionrealm.items) do Asa@9: local name, itemLink = GetItemInfo (link); Asa@9: if name == itemName then Asa@9: local _, _, _, _, itemID = string.find(itemLink, "|?c?f?f?(%x*)|?H?([^:]*):?(%d+):?(%d*):?(%d*):?(%d*):?(%d*):?(%d*):?(%-?%d*):?(%-?%d*):?(%d*)|?h?%[?([^%[%]]*)%]?|?h?|?r?") Asa@9: tmp_item_cache[itemName] = tonumber(itemID) Asa@9: end Asa@9: end Asa@9: Asa@9: end Asa@9: Asa@7: return tmp_item_cache[itemName] Asa@7: end Asa@7: Asa@9: function addon:GetLinkFromName(itemName) Asa@9: local itemID = self:GetItemID(itemName) Asa@9: local itemLink Asa@9: if itemID ~= nil then Asa@9: _, itemLink = GetItemInfo(itemID) Asa@9: end Asa@9: Asa@9: return itemLink Asa@9: end Asa@9: Asa@7: function addon:SaveItemID(itemName, id) Asa@7: item_db[itemName] = tonumber(id) Asa@7: end Asa@7: Asa@6: local SubjectPatterns = { Asa@6: AHCancelled = gsub(AUCTION_REMOVED_MAIL_SUBJECT, "%%s", ".*"), Asa@6: AHExpired = gsub(AUCTION_EXPIRED_MAIL_SUBJECT, "%%s", ".*"), Asa@6: AHOutbid = gsub(AUCTION_OUTBID_MAIL_SUBJECT, "%%s", ".*"), Asa@6: AHSuccess = gsub(AUCTION_SOLD_MAIL_SUBJECT, "%%s", ".*"), Asa@6: AHWon = gsub(AUCTION_WON_MAIL_SUBJECT, "%%s", ".*"), Asa@6: CODPayment = gsub(COD_PAYMENT, "%%s", "(.*)"), Asa@6: } Asa@6: Asa@6: function addon:GetMailType(msgSubject) Asa@6: if msgSubject then Asa@6: for k, v in pairs(SubjectPatterns) do Asa@6: if msgSubject:find(v) then return k end Asa@6: end Asa@6: end Asa@6: return "NonAHMail" Asa@3: end Asa@3: Asa@3: function addon:tcount(tab) Asa@3: local n = #tab Asa@3: if (n == 0) then Asa@3: for _ in pairs(tab) do Asa@3: n = n + 1 Asa@3: end Asa@3: end Asa@3: return n Asa@3: end Asa@3: Asa@8: Asa@3: Asa@3: function addon:GetDebug(info) Asa@3: return true Asa@3: -- return self.db.char.debug Asa@3: end Asa@3: Asa@3: function addon:SetDebug(info, input) Asa@3: self:Print("Debugging is now: " .. value) Asa@3: self.db.char.debug = input Asa@3: local value = "off" Asa@3: if input then Asa@3: value = "on" Asa@3: end Asa@3: Asa@3: end