| |
@@ -24,6 +24,7 @@
|
| |
from collections import defaultdict
|
| |
from json import JSONDecodeError
|
| |
|
| |
+ import fedfind.helpers
|
| |
import json
|
| |
import datetime
|
| |
import requests
|
| |
@@ -37,6 +38,21 @@
|
| |
from oraculum import app, db, CACHE
|
| |
from oraculum.models.dashboard_users import DashboardUserData
|
| |
|
| |
+ def get_fedora_releases():
|
| |
+ """
|
| |
+ Returns dict with keys containing active Fedora releases as described by keys.
|
| |
+ "values" key contains list of active Fedora release numbers
|
| |
+ """
|
| |
+ releases = {"oldstable": (max(fedfind.helpers.get_current_stables()) - 1),
|
| |
+ "stable": max(fedfind.helpers.get_current_stables()),
|
| |
+ "branched": fedfind.helpers.get_current_release(branched=True),
|
| |
+ "rawhide": (fedfind.helpers.get_current_release(branched=True) + 1)}
|
| |
+
|
| |
+ releases["values"] = sorted(set(releases.values()))
|
| |
+ if releases["stable"] == releases["branched"]:
|
| |
+ releases["branched"] = None
|
| |
+ return releases
|
| |
+
|
| |
|
| |
def update_user_access_time(user):
|
| |
"""
|
| |
@@ -280,7 +296,7 @@
|
| |
def get_fti_trackers():
|
| |
bzapi = bugzilla.Bugzilla("bugzilla.redhat.com")
|
| |
tracker_ids = []
|
| |
- releases = [CACHE.get('landing_page')["devel"], CACHE.get('landing_page')["stable"]]
|
| |
+ releases = CACHE.get('fedora_releases')["values"]
|
| |
for release in releases:
|
| |
bug = bzapi.getbug("F%sFailsToInstall" % release)
|
| |
tracker_ids.append(bug.id)
|
| |
@@ -290,7 +306,7 @@
|
| |
def get_ftbfs_trackers():
|
| |
bzapi = bugzilla.Bugzilla("bugzilla.redhat.com")
|
| |
tracker_ids = []
|
| |
- releases = [CACHE.get('landing_page')["devel"], CACHE.get('landing_page')["stable"]]
|
| |
+ releases = CACHE.get('fedora_releases')["values"]
|
| |
for release in releases:
|
| |
bug = bzapi.getbug("F%sFTBFS" % release)
|
| |
tracker_ids.append(bug.id)
|
| |
@@ -428,15 +444,16 @@
|
| |
Returns dict {
|
| |
"FXX": "user_a"...: [package_a, package_b, ...]
|
| |
"FXX-testing": "user_b"...: [package_a, package_b. ...]
|
| |
- "FXX": "user_a"...: [package_b, package_c, ...] # Rawhide releases don't have -testing counterpart
|
| |
+ "rawhide": "user_a"...: [package_b, package_c, ...] # Rawhide releases don't have -testing counterpart
|
| |
}
|
| |
"""
|
| |
data = {}
|
| |
- stable = str(CACHE.get('landing_page')["stable"])
|
| |
- data[stable] = get_json(
|
| |
- "https://pagure.io/fedora-health-check/raw/master/f/data/report-%s.json" % stable)["affected"]
|
| |
- data[stable + "-testing"] = get_json(
|
| |
- "https://pagure.io/fedora-health-check/raw/master/f/data/report-%s-testing.json" % stable)["affected"]
|
| |
+ releases = CACHE.get('fedora_releases')["values"]
|
| |
+ for release in releases[:-1]: # Process every release but rawhide
|
| |
+ data[release] = get_json(
|
| |
+ "https://pagure.io/fedora-health-check/raw/master/f/data/report-%d.json" % release)["affected"]
|
| |
+ data[str(release) + "-testing"] = get_json(
|
| |
+ "https://pagure.io/fedora-health-check/raw/master/f/data/report-%d-testing.json" % release)["affected"]
|
| |
data["rawhide"] = get_json("https://pagure.io/fedora-health-check/raw/master/f/data/report-rawhide.json")["affected"]
|
| |
return data
|
| |
|
| |
Let's leverage fedfind to query active Fedora releases for us.