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