diff options
| -rw-r--r-- | create_report.py | 6 | ||||
| -rw-r--r-- | parse_data.py | 14 |
2 files changed, 10 insertions, 10 deletions
diff --git a/create_report.py b/create_report.py index 04b44b7..d123609 100644 --- a/create_report.py +++ b/create_report.py @@ -1,9 +1,9 @@ from parse_data import parse_data from jinja2 import Environment, FileSystemLoader -import argparse -import sys +from argparse import ArgumentParser +from sys import argv -parser = argparse.ArgumentParser(prog=sys.argv[0]) +parser = ArgumentParser(prog=argv[0]) parser.add_argument('input_path', help="input to parse") parser.add_argument('-o', '--out', help="output file (default: report.html)", default="report.html") parser.add_argument('-c', '--csv', help="Flag: the input file is a csv and NOT an executable", action='store_true') diff --git a/parse_data.py b/parse_data.py index ac75bd5..ac4ab99 100644 --- a/parse_data.py +++ b/parse_data.py @@ -1,6 +1,6 @@ -import csv -import subprocess -import io +from csv import DictReader +from subprocess import PIPE, Popen +from io import StringIO class Test: def __init__(self, number: int, description: str): @@ -48,22 +48,22 @@ def find_category_in_data(name: str, data: list[Category]) -> int: def read_input(path: str, is_csv: bool): if is_csv: with open(path, 'r') as fd: - return io.StringIO(fd.read()) + return StringIO(fd.read()) else: - process = subprocess.Popen([path], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + process = Popen([path], stdout=PIPE, stderr=PIPE) stdout, stderr = process.communicate() if stderr: print("Error:", stderr.decode()) stdout_str = stdout.decode() - return io.StringIO(stdout_str) + return StringIO(stdout_str) def parse_data(path: str, is_csv: bool): data = [] # List of Category objects stdout_file = read_input(path, is_csv) - csv_reader = csv.DictReader(stdout_file) # Rows are dictionaries + csv_reader = DictReader(stdout_file) # Rows are dictionaries for row in csv_reader: log_type, timestamp, category_name, number, test_description, fail_message = row.values() |