commit c8a4ebbbde4a10e101727b8e1eb9e74715af12b2 Author: Martinez Date: Mon Oct 9 23:50:42 2017 +0200 import diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a295864 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.pyc +__pycache__ diff --git a/over-hex.py b/over-hex.py new file mode 100755 index 0000000..627effd --- /dev/null +++ b/over-hex.py @@ -0,0 +1,44 @@ +#! /usr/bin/env python3 +# encoding: utf-8 + +# -------------------------------------------------- +# Library imports +import over + +# -------------------------------------------------- +# Local imports +import version + +# -------------------------------------------------- +# Exceptions + +class ConfigurationError(Exception): + pass + +# -------------------------------------------------- +# Functions + +# -------------------------------------------------- +# Classes + +# -------------------------------------------------- + +if __name__ == "__main__": + main = over.app.Main("over-hex", version.str, "AO-JST", features={"config_file": True}) + main.add_option("color", "Use colors.", bool, [True], abbr="C") + main.add_option("header", "Show a header (byte numbers).", bool, [True], abbr="H") + main.add_option("offsets", "Show a column of offsets (line numbers).", bool, [True], abbr="O") + main.add_option("ascii", "Show an ASCII translation (text).", bool, [True], abbr="A") + main.add_option("offset", "How many bytes per line of output to show.", int, [16], count=1, abbr="o") + main.add_option("seek", "Byte number at which output starts.", int, [0], count=1, abbr="s") + main.add_option("to", "Byte number where output ends. Use 0<.> to read the whole file but keep in mind that it has to fit in memory.", int, [10240], count=1, abbr="t") + + main.add_doc("Description", ["A much less painful alternative to hexdump(1)."]) + main.setup() + + for target in main.targets: + with open(target, "rb") as f: + f.seek(main.cfg.seek) + data = f.read(main.cfg.to - main.cfg.seek) + + over.misc.hexdump(data, offset=main.cfg.offset, show_header=main.cfg.header, show_offsets=main.cfg.offsets, show_ascii=main.cfg.ascii, use_colors=main.cfg.color, initial_offset=main.cfg.seek) diff --git a/version.py b/version.py new file mode 100644 index 0000000..c1cd406 --- /dev/null +++ b/version.py @@ -0,0 +1,8 @@ +#! /usr/bin/env python3 +# encoding: utf-8 + +major = 0 # VERSION_MAJOR_IDENTIFIER +minor = 1 # VERSION_MINOR_IDENTIFIER +# VERSION_LAST_MM 0.1 +patch = 0 # VERSION_PATCH_IDENTIFIER +str = "0.1.0" # VERSION_STRING_IDENTIFIER