import argparse
import os
import sys
ROOT_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..")
if os.path.exists(os.path.join(ROOT_DIR, "ubpf")):
sys.path.insert(0, ROOT_DIR)
import ubpf.disassembler
def main():
parser = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument('input', type=argparse.FileType('rb'), default='-', nargs='?')
parser.add_argument('output', type=argparse.FileType('w'), default='-', nargs='?')
parser.add_argument('--verbose', dest='verbose', action='store_true', default=False)
args = parser.parse_args()
if args.input.name == "<stdin>" and hasattr(args.input, "buffer"):
input_ = args.input.buffer.read()
else:
input_ = args.input.read()
print(f"{args.verbose=}")
args.output.write(ubpf.disassembler.disassemble(input_, args.verbose))
if __name__ == "__main__":
main()