diff --git a/readTrace.py b/readTrace.py index e3ae03ffdecce5de4457c0d64f803715b8bfa888..a9e917782fd2fdd9322da582552173b834f1cf2e 100755 --- a/readTrace.py +++ b/readTrace.py @@ -387,7 +387,7 @@ def prettyNumber(num) : ################################################################################ if __name__ == "__main__" : parser = argparse.ArgumentParser() - parser.add_argument("trace", type=str, + parser.add_argument("traces", nargs="+", default=[], help="File produced by debug mode (-d) of the decoding.") parser.add_argument("--steps", default=False, action="store_true", help="Print all decoding steps.") @@ -395,20 +395,28 @@ if __name__ == "__main__" : help="Print global stats about the decoding.") args = parser.parse_args() - history = History() - history.readFromTrace(args.trace) - - history.segmentInBlocks() - - stats = history.computeStats() + histories = [] + stats = [] + for trace in args.traces : + histories.append(History()) + histories[-1].readFromTrace(trace) + histories[-1].segmentInBlocks() + stats.append(histories[-1].computeStats()) if args.steps : - history.printHumanReadable(sys.stdout) + for i in range(len(args.traces)) : + print("History of '%s' :\n"%args.traces[i]) + histories[i].printHumanReadable(sys.stdout) if args.stats : - asList = [list(stats.keys()), list(stats.values())] - maxLen = max(map(len, asList[0])) + asList = [["Filename"]+list(stats[0].keys())] + for i in range(len(args.traces)) : + asList.append([args.traces[i]]+list(map(prettyNumber, list(stats[i].values())))) + maxLens = [max(map(len, asList[i])) for i in range(len(asList))] for i in range(len(asList[0])) : - print("%s %s"%(asList[0][i]+"."*(1+maxLen-len(asList[0][i])), prettyNumber(asList[1][i]))) + for j in range(len(asList)) : + sep = "." if j == 0 else " " + print("%s"%(asList[j][i]+sep*(1+maxLens[j]-len(asList[j][i]))), end=" ") + print("") ################################################################################