unselect: extract filter conditions as config variables.
This commit is contained in:
parent
931c8a2908
commit
f70544ec81
@ -1,14 +1,23 @@
|
|||||||
|
from osc import conf
|
||||||
from osc.core import get_request
|
from osc.core import get_request
|
||||||
from osclib.request_finder import RequestFinder
|
from osclib.request_finder import RequestFinder
|
||||||
|
|
||||||
|
|
||||||
class UnselectCommand(object):
|
class UnselectCommand(object):
|
||||||
CLEANUP_WHITELIST = [
|
CLEANUP_WHITELIST = 'leaper'
|
||||||
'leaper',
|
|
||||||
]
|
|
||||||
|
|
||||||
def __init__(self, api):
|
def __init__(self, api):
|
||||||
self.api = api
|
self.api = api
|
||||||
|
self.config_init(api)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def config_init(cls, api):
|
||||||
|
config = conf.config[api.project]
|
||||||
|
|
||||||
|
cleanup_whitelist = config.get('unselect-cleanup-whitelist', cls.CLEANUP_WHITELIST)
|
||||||
|
cls.cleanup_whitelist = cleanup_whitelist.split()
|
||||||
|
|
||||||
|
cls.cleanup_days = int(config.get('unselect-cleanup-days', 7))
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def filter_obsolete(request, updated_delta):
|
def filter_obsolete(request, updated_delta):
|
||||||
@ -17,8 +26,8 @@ class UnselectCommand(object):
|
|||||||
|
|
||||||
if (request['state'] == 'revoked' or
|
if (request['state'] == 'revoked' or
|
||||||
(request['state'] == 'declined' and (
|
(request['state'] == 'declined' and (
|
||||||
request['creator'] in UnselectCommand.CLEANUP_WHITELIST or
|
request['creator'] in UnselectCommand.cleanup_whitelist or
|
||||||
updated_delta.days >= 7))):
|
updated_delta.days >= UnselectCommand.cleanup_days))):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
@ -15,6 +15,7 @@ class TestUnselect(unittest.TestCase):
|
|||||||
self.api = StagingAPI(APIURL, PROJECT)
|
self.api = StagingAPI(APIURL, PROJECT)
|
||||||
|
|
||||||
def test_cleanup_filter(self):
|
def test_cleanup_filter(self):
|
||||||
|
UnselectCommand.config_init(self.api)
|
||||||
obsolete = self.api.project_status_requests('obsolete', UnselectCommand.filter_obsolete)
|
obsolete = self.api.project_status_requests('obsolete', UnselectCommand.filter_obsolete)
|
||||||
self.assertTrue('492438' in obsolete, 'revoked')
|
self.assertTrue('492438' in obsolete, 'revoked')
|
||||||
self.assertTrue('492439' in obsolete, 'declined by leaper')
|
self.assertTrue('492439' in obsolete, 'declined by leaper')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user