refactor common functions into ReviewBot
This commit is contained in:
parent
938b0359bc
commit
39362a03f3
31
ReviewBot.py
31
ReviewBot.py
@ -145,6 +145,37 @@ class ReviewBot(object):
|
|||||||
overall = ret
|
overall = ret
|
||||||
return overall
|
return overall
|
||||||
|
|
||||||
|
def check_action_maintenance_incident(self, req, a):
|
||||||
|
rev = self._get_verifymd5(a.src_project, a.src_package, a.src_rev)
|
||||||
|
return self.check_source_submission(a.src_project, a.src_package, rev, a.tgt_releaseproject, a.src_package)
|
||||||
|
|
||||||
|
def check_action_maintenance_release(self, req, a):
|
||||||
|
pkgname = a.src_package
|
||||||
|
if pkgname == 'patchinfo':
|
||||||
|
return None
|
||||||
|
linkpkg = self._get_linktarget_self(a.src_project, pkgname)
|
||||||
|
if linkpkg is not None:
|
||||||
|
pkgname = linkpkg
|
||||||
|
# packages in maintenance have links to the target. Use that
|
||||||
|
# to find the real package name
|
||||||
|
(linkprj, linkpkg) = self._get_linktarget(a.src_project, pkgname)
|
||||||
|
if linkpkg is None or linkprj is None or linkprj != a.tgt_project:
|
||||||
|
self.logger.error("%s/%s is not a link to %s"%(a.src_project, pkgname, a.tgt_project))
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
pkgname = linkpkg
|
||||||
|
src_rev = self._get_verifymd5(a.src_project, a.src_package)
|
||||||
|
return self.check_source_submission(a.src_project, a.src_package, src_rev, a.tgt_project, pkgname)
|
||||||
|
|
||||||
|
def check_action_submit(self, req, a):
|
||||||
|
rev = self._get_verifymd5(a.src_project, a.src_package, a.src_rev)
|
||||||
|
return self.check_source_submission(a.src_project, a.src_package, rev, a.tgt_project, a.tgt_package)
|
||||||
|
|
||||||
|
def check_source_submission(self, src_project, src_package, src_rev, target_project, target_package):
|
||||||
|
""" default implemention does nothing """
|
||||||
|
self.logger.info("%s/%s@%s -> %s/%s"%(src_project, src_package, src_rev, target_project, target_package))
|
||||||
|
return None
|
||||||
|
|
||||||
# XXX used in other modules
|
# XXX used in other modules
|
||||||
def _get_verifymd5(self, src_project, src_package, rev=None):
|
def _get_verifymd5(self, src_project, src_package, rev=None):
|
||||||
query = { 'view': 'info' }
|
query = { 'view': 'info' }
|
||||||
|
@ -51,33 +51,7 @@ class FactorySourceChecker(ReviewBot.ReviewBot):
|
|||||||
ReviewBot.ReviewBot.__init__(self, *args, **kwargs)
|
ReviewBot.ReviewBot.__init__(self, *args, **kwargs)
|
||||||
self.review_messages = { 'accepted' : 'ok', 'declined': 'the package needs to be accepted in Factory first' }
|
self.review_messages = { 'accepted' : 'ok', 'declined': 'the package needs to be accepted in Factory first' }
|
||||||
|
|
||||||
def check_action_maintenance_incident(self, req, a):
|
def check_source_submission(self, src_project, src_package, src_rev, target_project, target_package):
|
||||||
rev = self._get_verifymd5(a.src_project, a.src_package, a.src_rev)
|
|
||||||
return self._check_package(a.src_project, a.src_package, rev, a.tgt_releaseproject, a.src_package)
|
|
||||||
|
|
||||||
def check_action_maintenance_release(self, req, a):
|
|
||||||
pkgname = a.src_package
|
|
||||||
if pkgname == 'patchinfo':
|
|
||||||
return None
|
|
||||||
linkpkg = self._get_linktarget_self(a.src_project, pkgname)
|
|
||||||
if linkpkg is not None:
|
|
||||||
pkgname = linkpkg
|
|
||||||
# packages in maintenance have links to the target. Use that
|
|
||||||
# to find the real package name
|
|
||||||
(linkprj, linkpkg) = self._get_linktarget(a.src_project, pkgname)
|
|
||||||
if linkpkg is None or linkprj is None or linkprj != a.tgt_project:
|
|
||||||
self.logger.error("%s/%s is not a link to %s"%(a.src_project, pkgname, a.tgt_project))
|
|
||||||
return False
|
|
||||||
else:
|
|
||||||
pkgname = linkpkg
|
|
||||||
src_rev = self._get_verifymd5(a.src_project, a.src_package)
|
|
||||||
return self._check_package(a.src_project, a.src_package, src_rev, a.tgt_project, pkgname)
|
|
||||||
|
|
||||||
def check_action_submit(self, req, a):
|
|
||||||
rev = self._get_verifymd5(a.src_project, a.src_package, a.src_rev)
|
|
||||||
return self._check_package(a.src_project, a.src_package, rev, a.tgt_package, a.tgt_package)
|
|
||||||
|
|
||||||
def _check_package(self, src_project, src_package, src_rev, target_project, target_package):
|
|
||||||
self.logger.info("%s/%s@%s -> %s/%s"%(src_project, src_package, src_rev, target_project, target_package))
|
self.logger.info("%s/%s@%s -> %s/%s"%(src_project, src_package, src_rev, target_project, target_package))
|
||||||
good = self._check_factory(src_rev, target_package)
|
good = self._check_factory(src_rev, target_package)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user