if not res[ext] then
res[ext] = 0
end
- if match.weight then
+ if weight then
res[ext] = res[ext] + weight
else
res[ext] = res[ext] + 1
-- This module contains most common patterns
--]]
+local heuristics = require "lua_magic/heuristics"
+
local patterns = {
pdf = {
-- These are alternatives
}
}
},
+ -- MS Office format, needs heuristic
+ ole = {
+ matches = {
+ {
+ hex = [[d0cf11e0a1b11ae1]],
+ relative_position = 0,
+ weight = 60,
+ heuristic = heuristics.ole_format_heuristic
+ }
+ }
+ },
-- MS Exe file
exe = {
matches = {
ct = 'application/x-shockwave-flash',
type = 'image',
},
+ -- Ole files
+ ole = {
+ ct = 'application/octet-stream',
+ type = 'msoffice'
+ },
+ doc = {
+ ct = 'application/msword',
+ type = 'msoffice'
+ },
+ xls = {
+ ct = 'application/vnd.ms-excel',
+ type = 'msoffice'
+ },
+ ppt = {
+ ct = 'application/vnd.ms-powerpoint',
+ type = 'msoffice'
+ },
+ msi = {
+ ct = 'application/x-msi',
+ type = 'executable'
+ },
-- other
pgp = {
ct = 'application/encrypted',
LUA_INTERFACE_DEF (text, take_ownership),
LUA_INTERFACE_DEF (text, save_in_file),
LUA_INTERFACE_DEF (text, span),
+ LUA_INTERFACE_DEF (text, at),
{"write", lua_text_save_in_file},
{"__len", lua_text_len},
{"__tostring", lua_text_str},