| |
@@ -29,58 +29,75 @@
|
| |
BLOCKERBUGS_URL = urllib.parse.urljoin(app.config["BLOCKERBUGS_URL"], "api/v0/milestones/%d/%s/bugs")
|
| |
|
| |
def get_blockerbugs():
|
| |
- data = {
|
| |
- "beta_blockers": "NaN",
|
| |
- "beta_blockers_proposed": "NaN",
|
| |
- "beta_fe": "NaN",
|
| |
- "beta_fe_proposed": "NaN",
|
| |
- "final_blockers": "NaN",
|
| |
- "final_blockers_proposed": "NaN",
|
| |
- "final_fe": "NaN",
|
| |
- "final_fe_proposed": "NaN"
|
| |
- }
|
| |
releases = CACHE.get("fedora_releases")
|
| |
release = releases["branched"] or releases["rawhide"]
|
| |
|
| |
+ data = {
|
| |
+ # TODO: This is a legacy structure that is going to be removed
|
| |
+ "beta_blockers": 0,
|
| |
+ "beta_blockers_proposed": 0,
|
| |
+ "beta_fe": 0,
|
| |
+ "beta_fe_proposed": 0,
|
| |
+ "final_blockers": 0,
|
| |
+ "final_blockers_proposed": 0,
|
| |
+ "final_fe": 0,
|
| |
+ "final_fe_proposed": 0,
|
| |
+ # This is the new structure
|
| |
+ "beta": {
|
| |
+ "blockers": 0,
|
| |
+ "blockers_proposed": 0,
|
| |
+ "fe": 0,
|
| |
+ "fe_proposed": 0
|
| |
+ },
|
| |
+ "final": {
|
| |
+ "blockers": 0,
|
| |
+ "blockers_proposed": 0,
|
| |
+ "fe": 0,
|
| |
+ "fe_proposed": 0
|
| |
+ },
|
| |
+ "release": "Fedora %s" % release
|
| |
+ }
|
| |
+
|
| |
resp_beta = get_json(BLOCKERBUGS_URL % (release, "beta"))
|
| |
resp_final = get_json(BLOCKERBUGS_URL % (release, "final"))
|
| |
|
| |
- beta_blockers, beta_fe, final_blockers, final_fe = (0, 0, 0, 0)
|
| |
- beta_blockers_prop, beta_fe_prop, final_blockers_prop, final_fe_prop = (0, 0, 0, 0)
|
| |
+ if not resp_beta or not resp_final or "error" in resp_beta or "error" in resp_final:
|
| |
+ # raise ValueError that we'll catch in the caller and rather not overwrite data we already have with nothing
|
| |
+ raise ValueError
|
| |
|
| |
for bug in resp_beta:
|
| |
if not (bug["active"]):
|
| |
continue
|
| |
if "accepted_blocker" in bug["type"]:
|
| |
- beta_blockers += 1
|
| |
+ data["beta"]["blockers"] += 1
|
| |
if "proposed_blocker" in bug["type"]:
|
| |
- beta_blockers_prop += 1
|
| |
+ data["beta"]["blockers_proposed"] += 1
|
| |
if "accepted_fe" in bug["type"]:
|
| |
- beta_fe += 1
|
| |
+ data["beta"]["fe"] += 1
|
| |
if "proposed_fe" in bug["type"]:
|
| |
- beta_fe_prop += 1
|
| |
+ data["beta"]["fe_proposed"] += 1
|
| |
|
| |
for bug in resp_final:
|
| |
if not (bug["active"]):
|
| |
continue
|
| |
if "accepted_blocker" in bug["type"]:
|
| |
- final_blockers += 1
|
| |
+ data["final"]["blockers"] += 1
|
| |
if "proposed_blocker" in bug["type"]:
|
| |
- final_blockers_prop += 1
|
| |
+ data["final"]["blockers_proposed"] += 1
|
| |
if "accepted_fe" in bug["type"]:
|
| |
- final_fe += 1
|
| |
+ data["final"]["fe"] += 1
|
| |
if "proposed_fe" in bug["type"]:
|
| |
- final_fe_prop += 1
|
| |
+ data["final"]["fe_proposed"] += 1
|
| |
|
| |
- data = {
|
| |
- "beta_blockers": beta_blockers,
|
| |
- "beta_blockers_proposed": beta_blockers_prop,
|
| |
- "beta_fe": beta_fe,
|
| |
- "beta_fe_proposed": beta_fe_prop,
|
| |
- "final_blockers": final_blockers,
|
| |
- "final_blockers_proposed": final_blockers_prop,
|
| |
- "final_fe": final_fe,
|
| |
- "final_fe_proposed": final_fe_prop
|
| |
- }
|
| |
+ # TODO: This is going to be removed!
|
| |
+ data["beta_blockers"] = data["beta"]["blockers"]
|
| |
+ data["beta_blockers_proposed"] = data["beta"]["blockers_proposed"]
|
| |
+ data["beta_fe"] = data["beta"]["fe"]
|
| |
+ data["beta_fe_proposed"] = data["beta"]["fe_proposed"]
|
| |
+
|
| |
+ data["final_blockers"] = data["final"]["blockers"]
|
| |
+ data["final_blockers_proposed"] = data["final"]["blockers_proposed"]
|
| |
+ data["final_fe"] = data["final"]["fe"]
|
| |
+ data["final_fe_proposed"] = data["final"]["fe_proposed"]
|
| |
|
| |
return data
|
| |
Ref: https://pagure.io/fedora-qa/landingpage/issue/6#comment-723940