From 3ea4a1c5bb5c6a37ea3917d3ad00fa4506bfca7e Mon Sep 17 00:00:00 2001 From: Christophe Bedard Date: Fri, 7 Jun 2019 11:25:32 +0200 Subject: [PATCH] Use argparse for tracetools_analysis entrypoints --- tracetools_analysis/convert.py | 17 ++++++++++------- tracetools_analysis/process.py | 13 +++++++------ 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/tracetools_analysis/convert.py b/tracetools_analysis/convert.py index d3539cc..e246b7c 100644 --- a/tracetools_analysis/convert.py +++ b/tracetools_analysis/convert.py @@ -2,19 +2,22 @@ # Entrypoint/script to convert CTF trace data to a pickle file # TODO +import argparse from pickle import Pickler -import sys from tracetools_analysis.conversion import ctf -def main(argv=sys.argv): - if len(argv) != 3: - print('usage: /trace/directory pickle_target_file') - exit(1) +def main(): + parser = argparse.ArgumentParser(description='Convert CTF trace data to a pickle file.') + parser.add_argument('trace_directory', + help='the path to the main CTF trace directory') + parser.add_argument('pickle_file', + help='the target pickle file to generate') + args = parser.parse_args() - trace_directory = sys.argv[1] - pickle_target_file = sys.argv[2] + trace_directory = args.trace_directory + pickle_target_file = args.pickle_file with open(pickle_target_file, 'wb') as f: p = Pickler(f, protocol=4) diff --git a/tracetools_analysis/process.py b/tracetools_analysis/process.py index 6335e53..5942da4 100644 --- a/tracetools_analysis/process.py +++ b/tracetools_analysis/process.py @@ -1,18 +1,19 @@ #!/usr/bin/env python3 # Entrypoint/script to process events from a pickle file to build a ROS model +import argparse import pickle -import sys from tracetools_analysis.analysis import ros_processor, to_pandas -def main(argv=sys.argv): - if len(argv) != 2: - print('usage: pickle_file') - exit(1) +def main(): + parser = argparse.ArgumentParser(description='Process a pickle file generated from tracing and analyze the data.') + parser.add_argument('pickle_file', + help='the pickle file to import') + args = parser.parse_args() - pickle_filename = sys.argv[1] + pickle_filename = args.pickle_file with open(pickle_filename, 'rb') as f: events = _get_events_from_pickled_file(f) print(f'imported {len(events)} events')