From dd6a81c69709df2bdff9f95df5630baa5ed1b30e Mon Sep 17 00:00:00 2001 From: Alexey Date: Wed, 5 Feb 2014 00:32:06 -0800 Subject: [PATCH] Fix Hfilter for null text part Fix HFILTER_URL_ONELINE for null text part --- conf/lua/hfilter.lua | 64 +++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 33 deletions(-) diff --git a/conf/lua/hfilter.lua b/conf/lua/hfilter.lua index 0c1d887e8..60a5cd722 100644 --- a/conf/lua/hfilter.lua +++ b/conf/lua/hfilter.lua @@ -251,39 +251,37 @@ local function hfilter(task) local parts = task:get_text_parts() if parts then --One text part-- - local total_parts_len = 0 - local text_parts_count = 0 - local selected_text_part = nil - for _,p in ipairs(parts) do - total_parts_len = total_parts_len + p:get_length() - - if not p:is_html() then - text_parts_count = text_parts_count + 1 - selected_text_part = p - end - end - if total_parts_len > 0 then - local urls = task:get_urls() - if urls then - local total_url_len = 0 - for _,url in ipairs(urls) do - total_url_len = total_url_len + url:get_length() - end - if total_url_len > 0 then - if total_url_len + 7 > total_parts_len then - task:insert_result('HFILTER_URL_ONLY', 1.00) - elseif text_parts_count == 1 and - selected_text_part:get_length() < 1024 then - -- We got a single text part with - -- the total length < 1024 symbols. - local part_text = trim1(selected_text_part:get_content()) - if not string.find(part_text, "\n") then - task:insert_result('HFILTER_URL_ONELINE', 1.00) - end - end - end - end - end + local total_parts_len = 0 + local text_parts_count = 0 + local selected_text_part = nil + for _,p in ipairs(parts) do + total_parts_len = total_parts_len + p:get_length() + + if not p:is_html() then + text_parts_count = text_parts_count + 1 + selected_text_part = p + end + end + if total_parts_len > 0 then + local urls = task:get_urls() + if urls then + local total_url_len = 0 + for _,url in ipairs(urls) do + total_url_len = total_url_len + url:get_length() + end + if total_url_len > 0 then + if total_url_len + 7 > total_parts_len then + task:insert_result('HFILTER_URL_ONLY', 1.00) + elseif text_parts_count == 1 and selected_text_part and selected_text_part:get_length() < 1024 then + -- We got a single text part with the total length < 1024 symbols. + local part_text = selected_text_part:get_content() + if part_text and not string.find(trim1(part_text), "\n") then + task:insert_result('HFILTER_URL_ONELINE', 1.00) + end + end + end + end + end end return false -- 2.39.5