]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Use override_defaults from lua_util
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 5 Apr 2018 12:18:05 +0000 (13:18 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 5 Apr 2018 12:18:05 +0000 (13:18 +0100)
lualib/lua_cfg_transform.lua
lualib/rspamadm/rescore.lua
src/plugins/lua/neural.lua

index 3d863e373a5bb41a8cc625807143388ce2f9e142..4dcfd811104f93170d4e723dbef1de526d024932 100644 (file)
@@ -15,28 +15,7 @@ limitations under the License.
 ]]--
 
 local logger = require "rspamd_logger"
-
-local function override_defaults(def, override)
-  if not override then
-    return def
-  end
-  if not def then
-    return override
-  end
-  for k,v in pairs(override) do
-    if def[k] then
-      if type(v) == 'table' then
-        def[k] = override_defaults(def[k], v)
-      else
-        def[k] = v
-      end
-    else
-      def[k] = v
-    end
-  end
-
-  return def
-end
+local lua_util = require "lua_util"
 
 local function is_implicit(t)
   local mt = getmetatable(t)
@@ -134,7 +113,7 @@ local function group_transform(cfg, k, v)
   if not cfg.group then cfg.group = {} end
 
   if cfg.group[k] then
-    cfg.group[k] = override_defaults(cfg.group[k], new_group)
+    cfg.group[k] = lua_util.override_defaults(cfg.group[k], new_group)
   else
     cfg.group[k] = new_group
   end
@@ -148,7 +127,7 @@ local function symbol_transform(cfg, k, v)
     if gr.symbols and gr.symbols[k] then
       -- We override group symbol with ungrouped symbol
       logger.infox("overriding group symbol %s in the group %s", k, gr_n)
-      gr.symbols[k] = override_defaults(gr.symbols[k], v)
+      gr.symbols[k] = lua_util.override_defaults(gr.symbols[k], v)
       return
     end
   end
@@ -196,7 +175,7 @@ end
 
 local function convert_metric(cfg, metric)
   if metric.actions then
-    cfg.actions = override_defaults(cfg.actions, metric.actions)
+    cfg.actions = lua_util.override_defaults(cfg.actions, metric.actions)
     logger.infox("overriding actions from the legacy metric settings")
   end
   if metric.unknown_weight then
index 56a92deffc9e163d88fcc79f024347471271ca84..231cf2ea6682449560b321cf6a2e2cd028bdeaeb 100644 (file)
@@ -383,20 +383,6 @@ local penalty_weights = {
   0
 }
 
-local function override_defaults(def, override)
-  for k,v in pairs(override) do
-    if def[k] then
-      if type(v) == 'table' then
-        override_defaults(def[k], v)
-      else
-        def[k] = v
-      end
-    else
-      def[k] = v
-    end
-  end
-end
-
 local function get_threshold()
   local actions = rspamd_config:get_all_actions()
 
@@ -409,7 +395,7 @@ end
 
 return function (args, cfg)
   opts = default_opts
-  override_defaults(opts, getopt.getopt(args, 'i:'))
+  opts = lua_util.override_defaults(opts, getopt.getopt(args, 'i:'))
   local threshold,reject_score = get_threshold()
   local logs = rescore_utility.get_all_logs(cfg["logdir"])
 
index 547751f939b561e982bffacc5492abca3dbc46e7..89f003b2a70907228ff1c611b56492fd17f3b5f6 100644 (file)
@@ -975,24 +975,9 @@ else
     end
     return copy
   end
-  local function override_defaults(def, override)
-    for k,v in pairs(override) do
-      if def[k] then
-        if type(v) == 'table' then
-          override_defaults(def[k], v)
-        else
-          def[k] = v
-        end
-      else
-        def[k] = v
-      end
-    end
-  end
   for k,r in pairs(rules) do
-    local def_rules = deepcopy(default_options)
+    local def_rules = lua_util.override_defaults(default_options, r)
     def_rules['redis'] = redis_params
-    -- Override defaults
-    override_defaults(def_rules, r)
 
     if not def_rules.prefix then
       def_rules.prefix = k