Merge pull request #817 from jberry-suse/strategy-quick

request_splitter: provide quick strategy based on lack of reviews needed.
This commit is contained in:
Jimmy Berry 2017-04-18 13:39:51 -05:00 committed by GitHub
commit 4217ab7fd2

View File

@ -306,6 +306,7 @@ class RequestSplitter(object):
def strategies_try(self):
strategies = (
'special',
'quick',
'super',
'devel',
)
@ -374,6 +375,9 @@ class Strategy(object):
info['args'] = self.kwargs
return info
def desirable(self, splitter):
return splitter.grouped.keys()
class StrategyNone(Strategy):
def apply(self, splitter):
splitter.filter_add('./action[not(@type="add_role" or @type="change_devel")]')
@ -451,6 +455,12 @@ class StrategySuper(StrategyDevel):
splitter.groups = []
splitter.group_by('./action/target/@devel_project_super', True)
class StrategyQuick(StrategyNone):
def apply(self, splitter):
super(StrategyQuick, self).apply(splitter)
splitter.filter_add('./review[@by_user="leaper" and @state="accepted"]')
splitter.filter_add('not(./review[not(@by_user="leaper" or @by_group="factory-staging")])')
class StrategySpecial(StrategyNone):
PACKAGES = [
'boost',
@ -466,6 +476,3 @@ class StrategySpecial(StrategyNone):
super(StrategySpecial, self).apply(splitter)
splitter.filter_add_requests(self.PACKAGES)
splitter.group_by('./action/target/@package')
def desirable(self, splitter):
return splitter.grouped.keys()