commit 49e5514: [Minor] More tags output fixes

Vsevolod Stakhov vsevolod at highsecure.ru
Thu Jul 29 16:56:07 UTC 2021


Author: Vsevolod Stakhov
Date: 2021-07-29 17:53:01 +0100
URL: https://github.com/rspamd/rspamd/commit/49e5514eaf91f70205374c55ed7383a6b9f8a12d (HEAD -> master)

[Minor] More tags output fixes

---
 lualib/rspamadm/mime.lua | 44 +++++++++++++++++++++++++++-----------------
 1 file changed, 27 insertions(+), 17 deletions(-)

diff --git a/lualib/rspamadm/mime.lua b/lualib/rspamadm/mime.lua
index a92c8c01c..9dc387ef0 100644
--- a/lualib/rspamadm/mime.lua
+++ b/lualib/rspamadm/mime.lua
@@ -386,28 +386,38 @@ local function extract_handler(opts)
               local hc = part:get_html()
               local res = {}
               process_func = function(elt)
-                return rspamd_logger.slog("%s", elt)
+                local fun = require "fun"
+                if type(elt) == 'table' then
+                  return table.concat(fun.totable(
+                      fun.map(
+                          function(t)
+                            return rspamd_logger.slog("%s", t)
+                          end,
+                          elt)), '\n')
+                else
+                  return rspamd_logger.slog("%s", elt)
+                end
               end
 
               hc:foreach_tag('any', function(tag)
-                local elt = {}
-                local ex = tag:get_extra()
-                elt.tag = tag:get_type()
-                if ex then
-                  elt.extra = ex
-                end
-                local content = tag:get_content()
-                if content then
-                  elt.content = tostring(content)
-                end
-                local style = tag:get_style()
-                if style then
-                  elt.style = style
-                end
-                table.insert(res, elt)
+                  local elt = {}
+                  local ex = tag:get_extra()
+                  elt.tag = tag:get_type()
+                  if ex then
+                    elt.extra = ex
+                  end
+                  local content = tag:get_content()
+                  if content then
+                    elt.content = tostring(content)
+                  end
+                  local style = tag:get_style()
+                  if style then
+                    elt.style = style
+                  end
+                  table.insert(res, elt)
               end)
               table.insert(out_elts[fname], res)
-            else
+            else -- opts.structure
               table.insert(out_elts[fname], tostring(part:get_content(how)))
             end
           end


More information about the Commits mailing list