#83 Expose freeze status in releases api
Merged 3 years ago by frantisekz. Opened 3 years ago by frantisekz.

@@ -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

  

  

no initial comment

Pull-Request has been merged by frantisekz

3 years ago
Metadata