diff --git a/scripts/capnp_test_pycapnp.py b/scripts/capnp_test_pycapnp.py new file mode 100755 index 0000000..496e4e0 --- /dev/null +++ b/scripts/capnp_test_pycapnp.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python +import capnp +import os +capnp.add_import_hook([os.getcwd(), "/usr/local/include/"]) # change this to be auto-detected? + +import test_capnp + +import sys + +def format_decode(val): + val = val.replace('\n ', '') + val = val.replace('( ', '(') + val = val.replace(' )', ')') + + return val + +def decode(name): + print format_decode(str(getattr(test_capnp, name))) + +def encode(name): + val = getattr(test_capnp, name) + class_name = name[0].upper() + name[1:] + message = getattr(test_capnp, class_name).from_dict(val.to_dict()) + print message.to_bytes() + +if sys.argv[1] == 'decode': + decode(sys.argv[2]) +else: + encode(sys.argv[2])