]>
Commit | Line | Data |
---|---|---|
1 | -- The getopt-functionality is loaded from pm3/getopt.lua | |
2 | -- Have a look there for further details | |
3 | getopt = require('getopt') | |
4 | bin = require('bin') | |
5 | dumplib = require('html_dumplib') | |
6 | ||
7 | example = "script run htmldump -o mifarecard_foo.html" | |
8 | author = "Martin Holst Swende" | |
9 | usage = "script run htmldump [-i <file>] [-o <file>]" | |
10 | desc =[[ | |
11 | This script takes a dumpfile and produces a html based dump, which is a | |
12 | bit more easily analyzed. | |
13 | ||
14 | Arguments: | |
15 | -h This help | |
16 | -i <file> Specifies the dump-file (input). If omitted, 'dumpdata.bin' is used | |
17 | -o <filename> Speciies the output file. If omitted, <curtime>.html is used. | |
18 | ||
19 | ]] | |
20 | ||
21 | ------------------------------- | |
22 | -- Some utilities | |
23 | ------------------------------- | |
24 | ||
25 | --- | |
26 | -- A debug printout-function | |
27 | function dbg(args) | |
28 | if DEBUG then | |
29 | print("###", args) | |
30 | end | |
31 | end | |
32 | --- | |
33 | -- This is only meant to be used when errors occur | |
34 | function oops(err) | |
35 | print("ERROR: ",err) | |
36 | end | |
37 | --- | |
38 | -- Usage help | |
39 | function help() | |
40 | print(desc) | |
41 | print("Example usage") | |
42 | print(example) | |
43 | end | |
44 | ||
45 | local function main(args) | |
46 | ||
47 | local input = "dumpdata.bin" | |
48 | local output = os.date("%Y-%m-%d_%H%M%S.html"); | |
49 | for o, a in getopt.getopt(args, 'i:o:h') do | |
50 | if o == "h" then return help() end | |
51 | if o == "i" then input = a end | |
52 | if o == "o" then output = a end | |
53 | end | |
54 | local filename, err = dumplib.convert_bin_to_html(input,output,16) | |
55 | if err then return oops(err) end | |
56 | ||
57 | print(("Wrote a HTML dump to the file %s"):format(filename)) | |
58 | end | |
59 | ||
60 | --[[ | |
61 | In the future, we may implement so that scripts are invoked directly | |
62 | into a 'main' function, instead of being executed blindly. For future | |
63 | compatibility, I have done so, but I invoke my main from here. | |
64 | --]] | |
65 | main(args) |