annotate Modules/Utils.lua @ 7:bbba2fae0f69

Removed some of the extra debugging that isn't neccessary any more and abtracted out the item ids so they can be cached.
author Asa Ayers <Asa.Ayers@Gmail.com>
date Tue, 08 Jun 2010 11:19:16 -0700
parents 5dddd73b2220
children 0271e781b154
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@3 8
Asa@3 9 function addon:FormatMoney(money)
Asa@6 10 local prefix = ""
Asa@6 11 if money < 0 then
Asa@6 12 prefix = "-"
Asa@6 13 end
Asa@6 14 return prefix .. Altoholic:GetMoneyString(abs(money), WHITE, false)
Asa@6 15 end
Asa@6 16
Asa@7 17 -- This is only here to make sure this doesn't blow up if ReplaceItemCache is never called
Asa@7 18 local item_db = {}
Asa@7 19
Asa@7 20 function addon:ReplaceItemCache(new_cache)
Asa@7 21 item_db = new_cache
Asa@7 22 end
Asa@7 23
Asa@7 24 -- This will be reset every session
Asa@7 25 local tmp_item_cache = {}
Asa@7 26 function addon:GetItemID(itemName)
Asa@7 27 if item_db[itemName] ~= nil then
Asa@7 28 return item_db[itemName]
Asa@7 29 end
Asa@7 30
Asa@7 31 if tmp_item_cache[itemName] == nil then
Asa@7 32 local _, itemLink = GetItemInfo (itemName);
Asa@7 33 if itemLink ~= nil then
Asa@7 34 local _, _, _, _, itemID = string.find(itemLink, "|?c?f?f?(%x*)|?H?([^:]*):?(%d+):?(%d*):?(%d*):?(%d*):?(%d*):?(%d*):?(%-?%d*):?(%-?%d*):?(%d*)|?h?%[?([^%[%]]*)%]?|?h?|?r?")
Asa@7 35 tmp_item_cache[itemName] = tonumber(itemID)
Asa@7 36 end
Asa@7 37 end
Asa@7 38
Asa@7 39 return tmp_item_cache[itemName]
Asa@7 40 end
Asa@7 41
Asa@7 42 function addon:SaveItemID(itemName, id)
Asa@7 43 item_db[itemName] = tonumber(id)
Asa@7 44 end
Asa@7 45
Asa@6 46 local SubjectPatterns = {
Asa@6 47 AHCancelled = gsub(AUCTION_REMOVED_MAIL_SUBJECT, "%%s", ".*"),
Asa@6 48 AHExpired = gsub(AUCTION_EXPIRED_MAIL_SUBJECT, "%%s", ".*"),
Asa@6 49 AHOutbid = gsub(AUCTION_OUTBID_MAIL_SUBJECT, "%%s", ".*"),
Asa@6 50 AHSuccess = gsub(AUCTION_SOLD_MAIL_SUBJECT, "%%s", ".*"),
Asa@6 51 AHWon = gsub(AUCTION_WON_MAIL_SUBJECT, "%%s", ".*"),
Asa@6 52 CODPayment = gsub(COD_PAYMENT, "%%s", "(.*)"),
Asa@6 53 }
Asa@6 54
Asa@6 55 function addon:GetMailType(msgSubject)
Asa@6 56 if msgSubject then
Asa@6 57 for k, v in pairs(SubjectPatterns) do
Asa@6 58 if msgSubject:find(v) then return k end
Asa@6 59 end
Asa@6 60 end
Asa@6 61 return "NonAHMail"
Asa@3 62 end
Asa@3 63
Asa@3 64 function addon:tcount(tab)
Asa@3 65 local n = #tab
Asa@3 66 if (n == 0) then
Asa@3 67 for _ in pairs(tab) do
Asa@3 68 n = n + 1
Asa@3 69 end
Asa@3 70 end
Asa@3 71 return n
Asa@3 72 end
Asa@3 73
Asa@3 74
Asa@3 75 function addon:GetDebug(info)
Asa@3 76 return true
Asa@3 77 -- return self.db.char.debug
Asa@3 78 end
Asa@3 79
Asa@3 80 function addon:SetDebug(info, input)
Asa@3 81 self:Print("Debugging is now: " .. value)
Asa@3 82 self.db.char.debug = input
Asa@3 83 local value = "off"
Asa@3 84 if input then
Asa@3 85 value = "on"
Asa@3 86 end
Asa@3 87
Asa@3 88 end