]> source.dussan.org Git - rspamd.git/commitdiff
[Feature] Additional symbol metadata in metadata exporter 1501/head
authorAndrew Lewis <nerf@judo.za.org>
Wed, 8 Mar 2017 12:20:51 +0000 (14:20 +0200)
committerAndrew Lewis <nerf@judo.za.org>
Thu, 9 Mar 2017 08:09:19 +0000 (10:09 +0200)
src/plugins/lua/metadata_exporter.lua

index 90b28193fb3a58fbce1c732391f569fa6092ed9a..7882a265cc8f158b4f4d52216ffc22bd20fabf73 100644 (file)
@@ -80,22 +80,22 @@ local function get_general_metadata(task, flatten, no_content)
   if ((from or E)[1] or E).addr then
     r.from = from[1].addr
   end
-  local symbols, scores = task:get_symbols()
-  if not flatten then
-    local symscore = {}
-    for i = 1, #symbols do
-      local s = {}
-      s.name = symbols[i]
-      s.score = scores[i]
-      table.insert(symscore, s)
-    end
-    r.symbols = symscore
-  else
+  local syminf = task:get_symbols_all()
+  if flatten then
     local l = {}
-    for i = 1, #symbols do
-      table.insert(l, symbols[i] .. '(' .. scores[i] .. ')')
+    for _, sym in ipairs(syminf) do
+      local txt
+      if sym.options then
+        local topt = table.concat(sym.options, ', ')
+        txt = sym.name .. '(' .. sym.score .. ')' .. ' [' .. topt .. ']'
+      else
+        txt = sym.name .. '(' .. sym.score .. ')'
+      end
+      table.insert(l, txt)
     end
     r.symbols = table.concat(l, '\n')
+  else
+    r.symbols = syminf
   end
   local function process_header(name)
     local hdr = task:get_header_full(name)