From 67a5d0a3786143b83e4d66014ed4d837cec8cf78 Mon Sep 17 00:00:00 2001 From: Kevin Lyles Date: Tue, 26 Jan 2010 12:48:28 -0600 Subject: [PATCH] Added ignore/unparsed instrumentation --- Regexps.lua | 32 +++++++++++++++++++++++--------- WeightsWatcher.lua | 14 ++++++++++++++ 2 files changed, 37 insertions(+), 9 deletions(-) diff --git a/Regexps.lua b/Regexps.lua index c2d43da..6c27f9e 100644 --- a/Regexps.lua +++ b/Regexps.lua @@ -20,28 +20,39 @@ Preprocess = { ["block$"] = "block value", } +ignoredInvalidStats = { + "item level", + "requires level", +} + IgnoredLines = { "^durability %d+ / %d+$", "^<.+>$", "^\".+\"$", + "^you may trade this item with players that were also eligible to loot this item for the next ", + "^ $", + "^requires %a[%a ]+ %- neutral$", + "^requires %a[%a ]+ %- friendly$", + "^requires %a[%a ]+ %- honored$", + "^requires %a[%a ]+ %- revered$", + "^requires %a[%a ]+ %- exalted$", + "^use: teaches you how to ", +} + +TempIgnoredLines = { "^use: restores %d+ %a[%a ]+ over %d+ sec%. must remain seated while %a+ing%.", "^use: restores %d+%% of your %a[%a ]+ per second for %d+ sec%. must remain seated while %a+ing%.", "^use: heals %d+ damage over %d+ sec%.$", "^use: restores %d+ to %d+ %a+", +} + +UnweightedLines = { -- Some relics that boost stats for certain abilities only "^equip: increases the %a[%a ]+ of your %a[%a ]+ by ", -- Use effects that have a cooldown "cooldown", -- "Chance on hit" and "have a chance" "chance ", - "^you may trade this item with players that were also eligible to loot this item for the next ", - "^ $", - "^requires %a[%a ]+ %- neutral$", - "^requires %a[%a ]+ %- friendly$", - "^requires %a[%a ]+ %- honored$", - "^requires %a[%a ]+ %- revered$", - "^requires %a[%a ]+ %- exalted$", - "^use: teaches you how to ", } socketBonus = "^socket bonus: (.*)" @@ -149,9 +160,10 @@ SingleSlotLines = { "^held in off%-hand$", } -function WeightsWatcher.multipleStats(text, link) +function WeightsWatcher.multipleStats(text) local stat, stringTable local stats = WeightsWatcher.newStatTable() + local origText = text start, _, value = string.find(text, " and %a[%a ]+ by (%d+)%.") if start then @@ -167,6 +179,8 @@ function WeightsWatcher.multipleStats(text, link) stat = WeightsWatcher.singleStat(statString) if stat then stats = stats + stat + else + ww_unparsed_lines[origText] = true end end -- Don't return an empty table diff --git a/WeightsWatcher.lua b/WeightsWatcher.lua index 5c1d0ea..54679f4 100644 --- a/WeightsWatcher.lua +++ b/WeightsWatcher.lua @@ -906,6 +906,13 @@ function WeightsWatcher.parseLine(textL, textR, link) end for _, regex in ipairs(IgnoredLines) do if string.find(textL, regex) then + ww_ignored_lines[textL][regex] = true + return + end + end + for _, regex in ipairs(TempIgnoredLines) do + if string.find(textL, regex) then + ww_temp_ignored_lines[textL][regex] = true return end end @@ -940,6 +947,13 @@ function WeightsWatcher.parseLine(textL, textR, link) if stat then return stat end + for _, regex in ipairs(UnweightedLines) do + if string.find(textL, regex) then + ww_unweighted_lines[textL][regex] = true + return + end + end + ww_unparsed_lines[textL] = true end function WeightsWatcher.getItemStats(link) -- 1.7.9.5