From 52af5b3d75a1840132b65c616e473def136f5840 Mon Sep 17 00:00:00 2001 From: Jimmy Berry Date: Wed, 11 Oct 2017 22:14:42 -0500 Subject: [PATCH 1/2] check_source: print message if checking devel project. Currently, no indication unless ends in decline. More important when moving option to config rather than flag. --- check_source.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/check_source.py b/check_source.py index e2417f22..7b640ee2 100755 --- a/check_source.py +++ b/check_source.py @@ -36,7 +36,7 @@ class CheckSource(ReviewBot.ReviewBot): super(CheckSource, self).check_source_submission(source_project, source_package, source_revision, target_project, target_package) if not self.ignore_devel: - # Check if target package exists and has devel project. + self.logger.info('checking if target package exists and has devel project') devel_project, devel_package = self.get_devel_project(target_project, target_package) if devel_project: if (source_project != devel_project or source_package != devel_package) and \ From 37d397fb898d6012ea1bec98e3b73f97d373a94b Mon Sep 17 00:00:00 2001 From: Jimmy Berry Date: Wed, 11 Oct 2017 22:19:24 -0500 Subject: [PATCH 2/2] check_source: move all relevant flags to config to work properly without flags. --- check_source.py | 33 +++++++++++++-------------------- osclib/conf.py | 9 +++++++++ 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/check_source.py b/check_source.py index 7b640ee2..a593ae84 100755 --- a/check_source.py +++ b/check_source.py @@ -10,6 +10,7 @@ try: except ImportError: import cElementTree as ET +import osc.conf import osc.core import urllib2 import ReviewBot @@ -27,13 +28,21 @@ class CheckSource(ReviewBot.ReviewBot): self.maintbot = MaintenanceChecker(*args, **kwargs) - self.ignore_devel = False - self.review_team = 'opensuse-review-team' - self.repo_checker = 'repo-checker' self.skip_add_reviews = False + def target_project_config(self, project): + # Load project config and allow for remote entries. + self.staging_api(project) + config = self.staging_config[project] + + self.ignore_devel = not bool(config.get('devel-project-enforce', False)) + self.review_team = config.get('review-team') + self.repo_checker = config.get('repo-checker') + self.devel_whitelist = config.get('devel-whitelist', '').split() + def check_source_submission(self, source_project, source_package, source_revision, target_project, target_package): super(CheckSource, self).check_source_submission(source_project, source_package, source_revision, target_project, target_package) + self.target_project_config(target_project) if not self.ignore_devel: self.logger.info('checking if target package exists and has devel project') @@ -137,10 +146,7 @@ class CheckSource(ReviewBot.ReviewBot): return None def is_devel_project(self, source_project, target_project): - # Load project config and allow for remote entries. - self.staging_api(target_project) - devel_whitelist = self.staging_config[target_project].get('devel-whitelist', '').split() - if source_project in devel_whitelist: + if source_project in self.devel_whitelist: return True # Allow any projects already used as devel projects for other packages. @@ -252,9 +258,6 @@ class CommandLineInterface(ReviewBot.CommandLineInterface): def get_optparser(self): parser = ReviewBot.CommandLineInterface.get_optparser(self) - parser.add_option('--ignore-devel', action='store_true', default=False, help='ignore devel projects for target package') - parser.add_option('--review-team', metavar='GROUP', help='review team group added to requests') - parser.add_option('--repo-checker', metavar='USER', help='repo checker user added after accepted review') parser.add_option('--skip-add-reviews', action='store_true', default=False, help='skip adding review after completing checks') return parser @@ -262,16 +265,6 @@ class CommandLineInterface(ReviewBot.CommandLineInterface): def setup_checker(self): bot = ReviewBot.CommandLineInterface.setup_checker(self) - if self.options.ignore_devel: - bot.ignore_devel = self.options.ignore_devel - if self.options.review_team: - if self.options.review_team == 'None': - self.options.review_team = None - bot.review_team = self.options.review_team - if self.options.repo_checker: - if self.options.repo_checker == 'None': - self.options.repo_checker = None - bot.repo_checker = self.options.repo_checker bot.skip_add_reviews = self.options.skip_add_reviews return bot diff --git a/osclib/conf.py b/osclib/conf.py index 9301d904..933efe4a 100644 --- a/osclib/conf.py +++ b/osclib/conf.py @@ -46,6 +46,10 @@ DEFAULT = { 'lock-ns': 'openSUSE', 'delreq-review': 'factory-maintainers', 'main-repo': 'standard', + # check_source.py + 'devel-project-enforce': 'True', + 'review-team': 'opensuse-review-team', + 'repo-checker': 'repo-checker', }, r'openSUSE:(?PLeap:[\d.]+)': { 'staging': 'openSUSE:%(project)s:Staging', @@ -62,6 +66,9 @@ DEFAULT = { 'lock-ns': 'openSUSE', 'delreq-review': None, 'main-repo': 'standard', + # check_source.py + # review-team optionally added by leaper.py. + 'repo-checker': 'repo-checker', }, r'SUSE:(?PSLE-15.*$)': { 'staging': 'SUSE:%(project)s:Staging', @@ -77,6 +84,8 @@ DEFAULT = { 'lock-ns': 'SUSE', 'delreq-review': None, 'main-repo': 'standard', + # check_source.py + 'repo-checker': 'repo-checker', }, r'SUSE:(?P.*$)': { 'staging': 'SUSE:%(project)s:Staging',