From d1ea1bd9bd3f3639ab34a8409cf2b2ac5b297d45 Mon Sep 17 00:00:00 2001 From: Christophe Bedard Date: Thu, 6 Jun 2019 09:20:36 +0200 Subject: [PATCH] Add basic events processing entrypoint --- conversion/ros.py | 5 +++++ process.py | 27 +++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 conversion/ros.py create mode 100644 process.py diff --git a/conversion/ros.py b/conversion/ros.py new file mode 100644 index 0000000..b63b75b --- /dev/null +++ b/conversion/ros.py @@ -0,0 +1,5 @@ +# Process trace events and create ROS model + +def ros_import(events): + for event in events: + print(f'event: {str(event)}') diff --git a/process.py b/process.py new file mode 100644 index 0000000..9752a44 --- /dev/null +++ b/process.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +# Entrypoint/script to process events from a pickle file to build a ROS model + +import sys +import pickle +from tracetools_analysis.conversion.ros import * + +def main(argv=sys.argv): + if len(argv) != 2: + print('usage: pickle_file') + exit(1) + + pickle_filename = sys.argv[1] + with open(pickle_filename, 'rb') as f: + events = _get_events_from_pickled_file(f) + print(f'imported {len(events)} events') + ros_import(events) + +def _get_events_from_pickled_file(file): + p = pickle.Unpickler(file) + events = [] + while True: + try: + events.append(p.load()) + except EOFError as _: + break # we're done + return events