From 99cdd89e0c466bef05ee42ab98d046e7f642f591 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 2 Aug 2019 17:42:27 +0100 Subject: [PATCH] [Feature] Multimap: Also check detected charset when do filename checks --- src/plugins/lua/multimap.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/plugins/lua/multimap.lua b/src/plugins/lua/multimap.lua index b87636bd0..38052f6f0 100644 --- a/src/plugins/lua/multimap.lua +++ b/src/plugins/lua/multimap.lua @@ -865,8 +865,25 @@ local function multimap_callback(task, rule) if fn then match_filename(rule, fn) end + -- Also deal with detected content type + local dtype,dsubtype = p:get_detected_type() + if not rule.skip_detected and (dtype and dsubtype) then + local detected_ct = string.format('%s/%s', dtype, dsubtype) + + if detected_ct then + local lua_mime = require "lua_mime" + + local ext = lua_mime.reversed_extensions_map[detected_ct] + + if ext then + local fake_fname = string.format('detected.%s', ext) + match_filename(rule, fake_fname) + end + end + end end end, + content = function() match_content(rule) end, -- 2.39.5