| |
@@ -22,6 +22,7 @@
|
| |
# Josef Skladanka <jskladan@redhat.com>
|
| |
|
| |
import json
|
| |
+ import yaml
|
| |
import requests
|
| |
import datetime
|
| |
import fedfind.helpers
|
| |
@@ -35,7 +36,7 @@
|
| |
from oraculum.models.dashboard_users import DashboardUserData
|
| |
|
| |
|
| |
- def get_json(json_url, attempt_retry=True, log_errors=True):
|
| |
+ def get_json(json_url, attempt_retry=True, log_errors=True, ignore_json_errors=False):
|
| |
"""
|
| |
Returns json data from provided url
|
| |
"""
|
| |
@@ -55,14 +56,28 @@
|
| |
try:
|
| |
return json.loads(resp.text)
|
| |
except JSONDecodeError:
|
| |
+ if ignore_json_errors:
|
| |
+ return resp.text
|
| |
if log_errors:
|
| |
app.logger.error("Request to %s failed because resource returned invalid data." % json_url)
|
| |
return None
|
| |
try:
|
| |
return json.loads(resp.text)
|
| |
except JSONDecodeError:
|
| |
- get_json(json_url, attempt_retry=False, log_errors=log_errors)
|
| |
+ if ignore_json_errors:
|
| |
+ return resp.text
|
| |
+ get_json(json_url, attempt_retry=False, log_errors=log_errors, ignore_json_errors=ignore_json_errors)
|
| |
|
| |
+ def branched_frozen():
|
| |
+ """
|
| |
+ Returns true if current branched is frozen
|
| |
+ """
|
| |
+ result = get_json("https://pagure.io/fedora-infra/ansible/raw/master/f/vars/all/Frozen.yaml", ignore_json_errors=True)
|
| |
+ try:
|
| |
+ return yaml.safe_load(result)["Frozen"]
|
| |
+ except (KeyError, AttributeError):
|
| |
+ app.logger.error("Failed to detect freeze status for branched...")
|
| |
+ return None
|
| |
|
| |
def get_fedora_releases():
|
| |
"""
|
| |
@@ -77,6 +92,9 @@
|
| |
releases["values"] = sorted(set(releases.values()))
|
| |
if releases["stable"] == releases["branched"]:
|
| |
releases["branched"] = None
|
| |
+ releases["branched_frozen"] = None
|
| |
+ else:
|
| |
+ releases["branched_frozen"] = branched_frozen()
|
| |
return releases
|
| |
|
| |
|
| |