Browse Source

[Minor] Allow to filter urls

tags/1.7.5
Vsevolod Stakhov 6 years ago
parent
commit
e39900d3ee
1 changed files with 12 additions and 3 deletions
  1. 12
    3
      lualib/lua_util.lua

+ 12
- 3
lualib/lua_util.lua View File

@@ -476,14 +476,21 @@ end
exports.override_defaults = override_defaults

--[[[
-- @function lua_util.extract_specific_urls(task, limit, [need_emails[, filter[, prefix])
-- Apply heuristic in extracting of urls from task, this function
-- tries its best to extract specific number of urls from a task based on
-- their characteristics
--]]
exports.extract_specific_urls = function(task, lim, need_emails)
exports.extract_specific_urls = function(task, lim, need_emails, filter, prefix)
local fun = require "fun"
local cache_key = string.format('sp_urls_%d%s', lim, need_emails)
local cache_key

if prefix then
cache_key = prefix
else
cache_key = string.format('sp_urls_%d%s', lim, need_emails)
end


local cached = task:cache_get(cache_key)

@@ -493,9 +500,10 @@ exports.extract_specific_urls = function(task, lim, need_emails)

local urls = task:get_urls(need_emails)


if not urls then return {} end

if filter then urls = fun.totable(fun.filter(filter, urls)) end

if #urls <= lim then
task:cache_set(cache_key, urls)


Loading…
Cancel
Save