annotate Modules/Utils.lua @ 11:03e2d9edc344

Fixed the ability to toggle debug
author Asa Ayers <Asa.Ayers@Gmail.com>
date Wed, 30 Jun 2010 22:56:06 -0700
parents 374dd1a90d02
children 44e70a3fdb19
rev   line source
Asa@3 1 local addonName, addonTable = ...;
Asa@3 2 local addon = {}
Asa@3 3
Asa@3 4 local AceConsole = LibStub("AceConsole-3.0")
Asa@3 5 AceConsole:Embed(addon)
Asa@3 6
Asa@3 7 addonTable.utils = addon
Asa@9 8 IAUtils = addon
Asa@3 9
Asa@3 10 function addon:FormatMoney(money)
Asa@6 11 local prefix = ""
Asa@6 12 if money < 0 then
Asa@6 13 prefix = "-"
Asa@6 14 end
Asa@6 15 return prefix .. Altoholic:GetMoneyString(abs(money), WHITE, false)
Asa@6 16 end
Asa@6 17
Asa@8 18 -- This is only here to make sure this doesn't blow up if ReplaceItemCache is never called
Asa@7 19 local item_db = {}
Asa@7 20
Asa@7 21 function addon:ReplaceItemCache(new_cache)
Asa@7 22 item_db = new_cache
Asa@7 23 end
Asa@7 24
Asa@7 25 -- This will be reset every session
Asa@7 26 local tmp_item_cache = {}
Asa@7 27 function addon:GetItemID(itemName)
Asa@7 28 if item_db[itemName] ~= nil then
Asa@7 29 return item_db[itemName]
Asa@7 30 end
Asa@7 31
Asa@7 32 if tmp_item_cache[itemName] == nil then
Asa@7 33 local _, itemLink = GetItemInfo (itemName);
Asa@7 34 if itemLink ~= nil then
Asa@7 35 local _, _, _, _, itemID = string.find(itemLink, "|?c?f?f?(%x*)|?H?([^:]*):?(%d+):?(%d*):?(%d*):?(%d*):?(%d*):?(%d*):?(%-?%d*):?(%-?%d*):?(%d*)|?h?%[?([^%[%]]*)%]?|?h?|?r?")
Asa@7 36 tmp_item_cache[itemName] = tonumber(itemID)
Asa@7 37 end
Asa@7 38 end
Asa@7 39
Asa@9 40 if tmp_item_cache[itemName] == nil then
Asa@9 41 for link, data in pairs(ItemAuditor.db.factionrealm.items) do
Asa@9 42 local name, itemLink = GetItemInfo (link);
Asa@9 43 if name == itemName then
Asa@9 44 local _, _, _, _, itemID = string.find(itemLink, "|?c?f?f?(%x*)|?H?([^:]*):?(%d+):?(%d*):?(%d*):?(%d*):?(%d*):?(%d*):?(%-?%d*):?(%-?%d*):?(%d*)|?h?%[?([^%[%]]*)%]?|?h?|?r?")
Asa@9 45 tmp_item_cache[itemName] = tonumber(itemID)
Asa@9 46 end
Asa@9 47 end
Asa@9 48
Asa@9 49 end
Asa@9 50
Asa@7 51 return tmp_item_cache[itemName]
Asa@7 52 end
Asa@7 53
Asa@9 54 function addon:GetLinkFromName(itemName)
Asa@9 55 local itemID = self:GetItemID(itemName)
Asa@9 56 local itemLink
Asa@9 57 if itemID ~= nil then
Asa@9 58 _, itemLink = GetItemInfo(itemID)
Asa@9 59 end
Asa@9 60
Asa@9 61 return itemLink
Asa@9 62 end
Asa@9 63
Asa@7 64 function addon:SaveItemID(itemName, id)
Asa@7 65 item_db[itemName] = tonumber(id)
Asa@7 66 end
Asa@7 67
Asa@6 68 local SubjectPatterns = {
Asa@6 69 AHCancelled = gsub(AUCTION_REMOVED_MAIL_SUBJECT, "%%s", ".*"),
Asa@6 70 AHExpired = gsub(AUCTION_EXPIRED_MAIL_SUBJECT, "%%s", ".*"),
Asa@6 71 AHOutbid = gsub(AUCTION_OUTBID_MAIL_SUBJECT, "%%s", ".*"),
Asa@6 72 AHSuccess = gsub(AUCTION_SOLD_MAIL_SUBJECT, "%%s", ".*"),
Asa@6 73 AHWon = gsub(AUCTION_WON_MAIL_SUBJECT, "%%s", ".*"),
Asa@6 74 CODPayment = gsub(COD_PAYMENT, "%%s", "(.*)"),
Asa@6 75 }
Asa@6 76
Asa@6 77 function addon:GetMailType(msgSubject)
Asa@6 78 if msgSubject then
Asa@6 79 for k, v in pairs(SubjectPatterns) do
Asa@6 80 if msgSubject:find(v) then return k end
Asa@6 81 end
Asa@6 82 end
Asa@6 83 return "NonAHMail"
Asa@3 84 end
Asa@3 85
Asa@3 86 function addon:tcount(tab)
Asa@3 87 local n = #tab
Asa@3 88 if (n == 0) then
Asa@3 89 for _ in pairs(tab) do
Asa@3 90 n = n + 1
Asa@3 91 end
Asa@3 92 end
Asa@3 93 return n
Asa@3 94 end
Asa@3 95
Asa@3 96 function addon:GetDebug(info)
Asa@11 97 return self.db.char.debug
Asa@3 98 end
Asa@3 99
Asa@3 100 function addon:SetDebug(info, input)
Asa@11 101
Asa@11 102 ItemAuditor.db.char.debug = input
Asa@3 103 local value = "off"
Asa@3 104 if input then
Asa@3 105 value = "on"
Asa@3 106 end
Asa@11 107 self:Print("Debugging is now: " .. value)
Asa@3 108 end