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 osclib.request_finder import RequestFinder
|
||||
|
||||
|
||||
class UnselectCommand(object):
|
||||
CLEANUP_WHITELIST = [
|
||||
'leaper',
|
||||
]
|
||||
CLEANUP_WHITELIST = 'leaper'
|
||||
|
||||
def __init__(self, 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
|
||||
def filter_obsolete(request, updated_delta):
|
||||
@ -17,8 +26,8 @@ class UnselectCommand(object):
|
||||
|
||||
if (request['state'] == 'revoked' or
|
||||
(request['state'] == 'declined' and (
|
||||
request['creator'] in UnselectCommand.CLEANUP_WHITELIST or
|
||||
updated_delta.days >= 7))):
|
||||
request['creator'] in UnselectCommand.cleanup_whitelist or
|
||||
updated_delta.days >= UnselectCommand.cleanup_days))):
|
||||
return True
|
||||
|
||||
return False
|
||||
|
@ -15,6 +15,7 @@ class TestUnselect(unittest.TestCase):
|
||||
self.api = StagingAPI(APIURL, PROJECT)
|
||||
|
||||
def test_cleanup_filter(self):
|
||||
UnselectCommand.config_init(self.api)
|
||||
obsolete = self.api.project_status_requests('obsolete', UnselectCommand.filter_obsolete)
|
||||
self.assertTrue('492438' in obsolete, 'revoked')
|
||||
self.assertTrue('492439' in obsolete, 'declined by leaper')
|
||||
|
Loading…
x
Reference in New Issue
Block a user