#48 Fix Bugzilla Race on bugzillacookies file
Merged 3 years ago by frantisekz. Opened 3 years ago by frantisekz.

file modified
+9 -6
@@ -17,6 +17,11 @@ 

  # Authors:

  #    Josef Skladanka <jskladan@redhat.com>

  

+ import logging

+ import os

+ import sys

+ import bugzilla

+ 

  from flask import Flask

  from flask_sqlalchemy import SQLAlchemy

  from flask_caching import Cache
@@ -27,11 +32,6 @@ 

  

  from . import config

  

- import logging

- import os

- import sys

- 

- 

  # the version as used in setup.py

  __version__ = "0.0.3"

  
@@ -161,7 +161,10 @@ 

  

  from .utils import cache_utils  # NOQA: E402

  CACHE = cache_utils.Cached(max_cache_age=app.config['MAX_DB_AGE'])

- 

+ BUGZILLA = bugzilla.Bugzilla("bugzilla.redhat.com",

+                              tokenfile=os.path.expanduser("~/.cache/python-bugzilla/token-%d" % os.getpid()),

+                              cookiefile=os.path.expanduser("~/.cache/python-bugzilla/cookie-%d" % os.getpid()),

+                              force_rest=True)

  

  CORS(app, supports_credentials=True)

  

file modified
+9 -13
@@ -38,7 +38,7 @@ 

  from requests.adapters import HTTPAdapter

  from requests.exceptions import ConnectionError

  

- from oraculum import app, db, CACHE

+ from oraculum import app, db, CACHE, BUGZILLA

  from oraculum.models.dashboard_users import DashboardUserData

  

  def get_fedora_releases():
@@ -420,31 +420,28 @@ 

      return data

  

  def get_blocker_trackers():

-     bzapi = bugzilla.Bugzilla("bugzilla.redhat.com")

      tracker_ids = []

      releases = CACHE.get('fedora_releases')

      if releases["branched"]:

-         tracker_ids.append(bzapi.getbug("F%sBetaBlocker" % releases["branched"]).id)

-         tracker_ids.append(bzapi.getbug("F%sFinalBlocker" % releases["branched"]).id)

-     tracker_ids.append(bzapi.getbug("F%sBetaBlocker" % releases["rawhide"]).id)

-     tracker_ids.append(bzapi.getbug("F%sFinalBlocker" % releases["rawhide"]).id)

+         tracker_ids.append(BUGZILLA.getbug("F%sBetaBlocker" % releases["branched"]).id)

+         tracker_ids.append(BUGZILLA.getbug("F%sFinalBlocker" % releases["branched"]).id)

+     tracker_ids.append(BUGZILLA.getbug("F%sBetaBlocker" % releases["rawhide"]).id)

+     tracker_ids.append(BUGZILLA.getbug("F%sFinalBlocker" % releases["rawhide"]).id)

      return tracker_ids

  

  def get_fti_trackers():

-     bzapi = bugzilla.Bugzilla("bugzilla.redhat.com")

      tracker_ids = []

      releases = CACHE.get('fedora_releases')["values"]

      for release in releases:

-         tracker_ids.append(bzapi.getbug("F%sFailsToInstall" % release).id)

+         tracker_ids.append(BUGZILLA.getbug("F%sFailsToInstall" % release).id)

      return tracker_ids

  

  

  def get_ftbfs_trackers():

-     bzapi = bugzilla.Bugzilla("bugzilla.redhat.com")

      tracker_ids = []

      releases = CACHE.get('fedora_releases')["values"]

      for release in releases:

-         tracker_ids.append(bzapi.getbug("F%sFTBFS" % release).id)

+         tracker_ids.append(BUGZILLA.getbug("F%sFTBFS" % release).id)

      return tracker_ids

  

  
@@ -453,12 +450,11 @@ 

      Returns all open Bugs for a single package

      """

      data = []

-     bzapi = bugzilla.Bugzilla("bugzilla.redhat.com")

-     query = bzapi.url_to_query("https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=__open__&"

+     query = BUGZILLA.url_to_query("https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=__open__&"

                                 "classification=Fedora&product=Fedora&product=Fedora EPEL&component=%s" % urllib.parse.quote(package))

      query["include_fields"] = ['blocks', 'comments', 'creation_time', 'creator', 'id', 'keywords', 'last_change_time',

                                 'severity', 'priority', 'status', 'summary', 'version', 'whiteboard']

-     bugs = bzapi.query(query)

+     bugs = BUGZILLA.query(query)

      if len(bugs) == 0:

          return []

      ftbfs_trackers = set(CACHE.get('ftbfs_trackers'))

file modified
+2 -2
@@ -14,8 +14,8 @@ 

  icalendar

  lxml

  pygments

- python-bugzilla

- python-dateutil==2.8.0

+ python-bugzilla >= 2.4.0

+ python-dateutil == 2.8.1

  pytz

  requests

  celery

We don't log in, we don't need it

1 new commit added

  • python-dateutil minor ver bump
3 years ago

I trust you know what you're doing :) LGTM on paper

1 new commit added

  • Rework bugzilla handling
3 years ago

rebased onto 2b035b9

3 years ago

rebased onto 25fbd61

3 years ago

Pull-Request has been merged by frantisekz

3 years ago