You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.8 KiB
76 lines
1.8 KiB
|
3 years ago
|
local addonName, addonTable = ...
|
||
|
|
|
||
|
|
-- Upvalues
|
||
|
|
local print = print
|
||
|
|
local format = format
|
||
|
|
local date = date
|
||
|
|
|
||
|
|
-- Locals
|
||
|
|
local PP = {}
|
||
|
|
|
||
|
|
-- Prettified print
|
||
|
|
function PP.Print(msg, ...)
|
||
|
|
print(format("|c00CC5500" .. "%s: " .. "|c00E6CC80%s", addonName, msg), ...)
|
||
|
|
end
|
||
|
|
|
||
|
|
-- Prints a prettier debug message, with source (module, category, etc.) if one was given
|
||
|
|
function PP.DebugMsg(msg, timestamp, source, ...)
|
||
|
|
source = source or ""
|
||
|
|
timestamp = timestamp or time()
|
||
|
|
print(
|
||
|
|
"|c00C2C2C2["
|
||
|
|
.. format(
|
||
|
|
date("%H:%M:%S", timestamp) .. "] " .. "|c000072CA" .. "%s: " .. "|c00E6CC80%s",
|
||
|
|
addonName .. (source ~= "" and "_" .. source or ""),
|
||
|
|
msg,
|
||
|
|
...
|
||
|
|
)
|
||
|
|
)
|
||
|
|
end
|
||
|
|
|
||
|
|
local wasErrorDisplayed = false -- Displaying them more than once per session is sure to be annoying
|
||
|
|
|
||
|
|
function PP.Error(message, ...)
|
||
|
|
if wasErrorDisplayed then
|
||
|
|
return
|
||
|
|
end
|
||
|
|
|
||
|
|
message = message or ""
|
||
|
|
local reportErrorText = format("Oh no! Something went horribly wrong. This is what happened:\n%s\n", message)
|
||
|
|
reportErrorText = reportErrorText
|
||
|
|
.. "If you didn't change anything that might've caused this, please report the error to the addon developer so it can be fixed :)"
|
||
|
|
|
||
|
|
print(format("|c00CA0A00" .. "%s: " .. "|c00E6CC80%s", addonName, reportErrorText), ...)
|
||
|
|
wasErrorDisplayed = true
|
||
|
|
end
|
||
|
|
|
||
|
|
--- Prints timestamps in a human-readable fashion?
|
||
|
|
-- TODO: LuaDoc
|
||
|
|
function PP:FormatTime(t)
|
||
|
|
if not t then
|
||
|
|
return "0:00"
|
||
|
|
end
|
||
|
|
if t == 0 then
|
||
|
|
return "0:00"
|
||
|
|
end
|
||
|
|
|
||
|
|
local h = math.floor(t / (60 * 60))
|
||
|
|
t = t - (60 * 60 * h)
|
||
|
|
local m = math.floor(t / 60)
|
||
|
|
t = t - (60 * m)
|
||
|
|
local s = t
|
||
|
|
|
||
|
|
if h > 0 then
|
||
|
|
return format("%d:%02d:%02d", h, m, s)
|
||
|
|
end
|
||
|
|
|
||
|
|
if m > 0 then
|
||
|
|
return format("%d:%02d", m, s)
|
||
|
|
end
|
||
|
|
|
||
|
|
return format("%d", s) .. "s"
|
||
|
|
end
|
||
|
|
|
||
|
|
Rarity.Utils.PrettyPrint = PP
|
||
|
|
return PP
|