in src/comparison.py [0:0]
def main():
p = configargparse.ArgParser()
p.add_argument('-d', '--directory', required=True, type=str, help='path to directory with results')
p.add_argument('-f', '--format', default='csv', type=str, choices=["csv", "xml"])
cl = p.parse_args()
directory = cl.directory
# add all subdirectories to the list
paths = []
for subdir in sorted(os.listdir(directory)):
path = os.path.join(directory, subdir)
if os.path.isdir(path):
paths.append(path)
# read in all results
results = []
for path in paths:
result = ExperimentResults(path)
if result.completed:
results.append(result)
printer = None
if cl.format == 'csv':
printer = CSVComparisonPrinter()
elif cl.format == 'xml':
printer = XMLComparisonPrinter()
# save results to appropriate format
with open(os.path.join(directory, f"comparison.{printer.file_type}"), "w") as f:
header = printer.get_header_line()
if not header == "":
f.write(header)
for idx, result in enumerate(results):
item_header = printer.get_item_header_line()
if not item_header == "":
f.write(item_header)
f.write(f"{printer.result_to_string(result)}")
item_footer = printer.get_item_footer_line()
if not item_footer == "":
f.write(item_footer)
footer = printer.get_footer_line()
if not footer == "":
f.write(footer)