#!/usr/bin/python3 import sys import urllib.request import re import json if len(sys.argv) != 3 : sys.exit("Expected architecture and file name as arguments") build_cache = {} def build(number): if number in build_cache: return build_cache[number] url = "https://cforall.uwaterloo.ca/jenkins/job/Cforall/job/master/%s/api/json?" % number f = urllib.request.urlopen(url) j = json.loads(f.read().decode("utf-8")) res = re.search("([^:]+):(x86|x64)", j['description']) build_cache.update({number : (res.group(1), res.group(2))}) return build_cache[number] content = {} try: with open(sys.argv[2]) as f: f.readline() f.readline() for l in f: data = [d.replace('"', '') for d in l.split(',')] number = data[2] _, arch = build(number) if arch == sys.argv[1]: if not data[1] in content: content.update({data[1] : []}) content[data[1]].append(float(data[0])) except IOError as e: sys.exit(e.strerror) print(','.join(content.keys())) print(','.join([str(sum(vals) / len(vals)) for vals in content.values()]))