From c7d927943ab7a114fb2edd78fb7f54e91662e4ce Mon Sep 17 00:00:00 2001 From: Manuel Simon Hirsig Date: Thu, 30 Jun 2016 12:17:46 +0200 Subject: [PATCH] small filter improvement --- core.lua | 2 +- scan_util.lua | 6 ++++++ search_frame.lua | 11 +++++++---- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/core.lua b/core.lua index b1b2854..7552d6b 100644 --- a/core.lua +++ b/core.lua @@ -1,5 +1,5 @@ Aux = { - version = '2.14.2', + version = '2.14.3', blizzard_ui_shown = false, orig = {}, } diff --git a/scan_util.lua b/scan_util.lua index adfa3a5..2579136 100644 --- a/scan_util.lua +++ b/scan_util.lua @@ -492,6 +492,9 @@ function m.filter_from_string(filter_term) elseif strfind(str, '^%d*:%d*$') then if not blizzard_filter.first_page and not blizzard_filter.last_page then local _, _, first_page, last_page = strfind(str, '^(%d*):(%d*)$') + if tonumber(first_page) and tonumber(first_page) < 1 or tonumber(last_page) and tonumber(last_page) < 1 then + return false, {}, 'Erroneous page range modifier' + end blizzard_filter.first_page = tonumber(first_page) blizzard_filter.last_page = tonumber(last_page) prettified:append(Aux.gui.inline_color({216, 225, 211, 1})..str..'|r') @@ -499,6 +502,9 @@ function m.filter_from_string(filter_term) return false, {}, 'Erroneous page range modifier' end elseif tonumber(str) then + if tonumber(str) < 1 or tonumber(str) > 60 then + return false, {}, 'Erroneous level range modifier' + end if not blizzard_filter.min_level then blizzard_filter.min_level = tonumber(str) prettified:append(Aux.gui.inline_color({216, 225, 211, 1})..str..'|r') diff --git a/search_frame.lua b/search_frame.lua index 4644482..1f91653 100644 --- a/search_frame.lua +++ b/search_frame.lua @@ -153,11 +153,11 @@ function private.get_form_filter() end if tonumber(AuxSearchFrameFilterMinLevel:GetText()) then - add(tonumber(AuxSearchFrameFilterMinLevel:GetText())) + add(max(1, min(60, tonumber(AuxSearchFrameFilterMinLevel:GetText())))) end if tonumber(AuxSearchFrameFilterMaxLevel:GetText()) then - add(tonumber(AuxSearchFrameFilterMaxLevel:GetText())) + add(max(1, min(60, tonumber(AuxSearchFrameFilterMaxLevel:GetText())))) end if AuxSearchFrameFilterUsableCheckButton:GetChecked() then @@ -184,8 +184,11 @@ function private.get_form_filter() add(strlower(getglobal('ITEM_QUALITY'..quality..'_DESC'))) end - if tonumber(private.first_page_editbox:GetText()) or tonumber(private.last_page_editbox:GetText()) then - add((tonumber(private.first_page_editbox:GetText()) or '') .. ':' .. (tonumber(private.last_page_editbox:GetText()) or '')) + local first_page, last_page = tonumber(private.first_page_editbox:GetText()), tonumber(private.last_page_editbox:GetText()) + first_page = first_page and max(1, first_page) + last_page = last_page and max(1, last_page) + if first_page or last_page then + add((first_page or '') .. ':' .. (last_page or '')) end return filter_term