From 401f2cde20b2b9a499bdf4b1f8d918da2f5b7c24 Mon Sep 17 00:00:00 2001 From: Christian Colglazier Date: Sat, 23 Jul 2022 10:23:26 -0400 Subject: [PATCH] Basic parser --- focusrite-usb-parser.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 focusrite-usb-parser.py diff --git a/focusrite-usb-parser.py b/focusrite-usb-parser.py new file mode 100644 index 0000000..d7aab4d --- /dev/null +++ b/focusrite-usb-parser.py @@ -0,0 +1,32 @@ +import argparse +import re + +class Event: + def __init__(self, tag, timestamp, event_type, pipe, usb_id, data): + self.tag = tag + self.timestamp = timestamp + self.event_type = event_type + self.pipe = pipe + self.usb_id = usb_id + self.data = data + +def parseEvent(line): + usb_id = re.search(r'\d{1,2}:\d{1,3}:\d{1,2}', line)[0] + return Event(line[0:16], + line[17:28], + line[28], + line[30:32], + usb_id, + line.split(usb_id,1)[1][1:].strip()) + +parser = argparse.ArgumentParser(description='Parser to help read usbmon logs.') +parser.add_argument('-f', '--file', type=str, help='Path to log file') +args = parser.parse_args() +file_path = args.file + +with open(file_path) as f: + lines = f.readlines() + for line in lines: + e = parseEvent(line) + print(e.event_type, e.pipe, e.usb_id, e.data) + f.close()