From c84e0a00130975fabb4583deb34c0c336ec8e904 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Nov 07 2020 19:24:11 +0000 Subject: add settings for BZ username and API key --- diff --git a/src/FedoraReview/create_review.py b/src/FedoraReview/create_review.py index d4ead19..3e905b6 100644 --- a/src/FedoraReview/create_review.py +++ b/src/FedoraReview/create_review.py @@ -134,10 +134,14 @@ class Settings(object): def __init__(self): """Constructor of the Settings object. - This instanciate the Settings object and load into the _dict - attributes the default configuration which each available option. + This instantiates the Settings object and loads into the _dict + attributes the default configuration with each available option. """ - self._dict = {"upload_target": self.upload_target} + self._dict = { + "bugzilla_api_key": "", + "bugzilla_username": "", + "upload_target": self.upload_target, + } self.load_config(SETTINGS_FILE, "fedora-create-review") def load_config(self, configfile, sec): @@ -226,6 +230,8 @@ class ReviewRequest(object): + "\n\n This is a Rename request for the former package '%s'" % rename_request ) + if self.settings.bugzilla_api_key: + data["api_key"] = self.settings.bugzilla_api_key self.log.debug("bz.createbug(%s)", data) try: bug = self.bzclient.createbug(**data) @@ -273,15 +279,16 @@ class ReviewRequest(object): :arg packagename the name of the package to search for """ - bugbz = self.bzclient.query( + query = { # 'bug_status': ['CLOSED'], - { - "short_desc": "Request: {} -".format(self.info["name"]), - "short_desc_type": "allwordssubstr", - "query_format": "advanced", - "component": "Package Review", - } - ) + "short_desc": "Request: {} -".format(self.info["name"]), + "short_desc_type": "allwordssubstr", + "query_format": "advanced", + "component": "Package Review", + } + if self.settings.bugzilla_api_key: + query["api_key"] = self.settings.bugzilla_api_key + bugbz = self.bzclient.query(query) if bugbz: print("Reviews for a package of the same name have been found:") @@ -296,7 +303,10 @@ class ReviewRequest(object): def login_bz(self): """ Login into the bugzilla. """ - username = input("Bugzilla username: ") + if self.settings.bugzilla_username: + username = self.settings.bugzilla_username + else: + username = input("Bugzilla username: ") self.bzclient.login(user=username, password=getpass.getpass()) def main(self): @@ -318,7 +328,10 @@ class ReviewRequest(object): self.log.debug("Could not determine FAS username") self.username = input("FAS username: ") - self.bzclient = RHBugzilla(url="%s/xmlrpc.cgi" % bzurl) + if self.settings.bugzilla_api_key: + self.bzclient = RHBugzilla(url="%s/xmlrpc.cgi" % bzurl, api_key=self.settings.bugzilla_api_key) + else: + self.bzclient = RHBugzilla(url="%s/xmlrpc.cgi" % bzurl) self.srpmfile = os.path.expanduser(args.srpmfile) self.specfile = os.path.expanduser(args.specfile) self.spec = rpm.spec(self.specfile)