pycapnp/scripts/capnp_test_pycapnp.py
Madhava Jay fc617142c0 Fixed issue where pickle helpers didnt use new from_bytes with context
- Added with context to benchmarks that use with_bytes
2022-05-24 11:38:27 +10:00

30 lines
652 B
Python
Executable file

#!/usr/bin/env python
import os
import sys
import capnp
capnp.add_import_hook(
[os.getcwd(), "/usr/local/include/"]
) # change this to be auto-detected?
import test_capnp # noqa: E402
def decode(name):
class_name = name[0].upper() + name[1:]
with getattr(test_capnp, class_name).from_bytes(sys.stdin.read()) as msg:
print(msg._short_str())
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])