- if u"-gbps" in plot_title:
- value = u"gbps"
- multiplier = 1e6
- else:
- value = u"throughput"
- multiplier = 1.0
-
- if u"1C" in test[u"tags"]:
- y_vals[test[u"parent"]][u"1"]. \
- append(test[value][ttype][u"LOWER"] * multiplier)
- elif u"2C" in test[u"tags"]:
- y_vals[test[u"parent"]][u"2"]. \
- append(test[value][ttype][u"LOWER"] * multiplier)
- elif u"4C" in test[u"tags"]:
- y_vals[test[u"parent"]][u"4"]. \
- append(test[value][ttype][u"LOWER"] * multiplier)
- except (KeyError, TypeError):
- pass
+ y_vals = OrderedDict()
+ for item in plot.get(u"include", tuple()):
+ reg_ex = re.compile(str(item).lower())
+ for job in data:
+ for build in job:
+ for test_id, test in build.iteritems():
+ if re.match(reg_ex, str(test_id).lower()):
+ if y_vals.get(test[u"parent"], None) is None:
+ y_vals[test[u"parent"]] = {
+ u"1": list(),
+ u"2": list(),
+ u"4": list()
+ }
+ try:
+ if test[u"type"] not in (u"NDRPDR", u"CPS"):
+ continue
+
+ if u"-pdr" in plot_title:
+ ttype = u"PDR"
+ elif u"-ndr" in plot_title:
+ ttype = u"NDR"
+ else:
+ continue
+
+ if u"1C" in test[u"tags"]:
+ y_vals[test[u"parent"]][u"1"].append(
+ test[value][ttype][u"LOWER"] * multiplier
+ )
+ elif u"2C" in test[u"tags"]:
+ y_vals[test[u"parent"]][u"2"].append(
+ test[value][ttype][u"LOWER"] * multiplier
+ )
+ elif u"4C" in test[u"tags"]:
+ y_vals[test[u"parent"]][u"4"].append(
+ test[value][ttype][u"LOWER"] * multiplier
+ )
+ except (KeyError, TypeError):
+ pass