From db132ea0e8bef786f8f1741fed1cbc082e084c8a Mon Sep 17 00:00:00 2001 From: "martin.holst@gmail.com" Date: Sun, 20 Oct 2013 18:48:04 +0000 Subject: [PATCH] Script to convert emulator file (ASCII dump of data) into HTML --- client/scripts/emul2html.lua | 67 ++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 client/scripts/emul2html.lua diff --git a/client/scripts/emul2html.lua b/client/scripts/emul2html.lua new file mode 100644 index 00000000..52d4dacb --- /dev/null +++ b/client/scripts/emul2html.lua @@ -0,0 +1,67 @@ +-- The getopt-functionality is loaded from pm3/getopt.lua +-- Have a look there for further details +getopt = require('getopt') +bin = require('bin') +dumplib = require('html_dumplib') + +example = "script run emul2html -o dumpdata.eml " +author = "Martin Holst Swende" +usage = "script run htmldump [-i ] [-o ]" +desc =[[ +This script takes a dumpfile on EML (ASCII) format and produces a html based dump, which is a +bit more easily analyzed. + +Arguments: + -h This help + -i Specifies the dump-file (input). If omitted, 'dumpdata.eml' is used + -o Speciies the output file. If omitted, .html is used. + +]] + +------------------------------- +-- Some utilities +------------------------------- + +--- +-- A debug printout-function +function dbg(args) + if DEBUG then + print("###", args) + end +end +--- +-- This is only meant to be used when errors occur +function oops(err) + print("ERROR: ",err) +end + + +--- +-- Usage help +function help() + print(desc) + print("Example usage") + print(example) +end + +local function main(args) + + local input = "dumpdata.eml" + local output = os.date("%Y-%m-%d_%H%M%S.html"); + for o, a in getopt.getopt(args, 'i:o:h') do + if o == "h" then return help() end + if o == "i" then input = a end + if o == "o" then output = a end + end + local filename, err = dumplib.convert_eml_to_html(input,output) + if err then return oops(err) end + + print(("Wrote a HTML dump to the file %s"):format(filename)) +end + +--[[ +In the future, we may implement so that scripts are invoked directly +into a 'main' function, instead of being executed blindly. For future +compatibility, I have done so, but I invoke my main from here. +--]] +main(args) \ No newline at end of file -- 2.39.2