fix the srcmd5 match and also look at nonfree
This commit is contained in:
parent
27f7c8c776
commit
78d6ea9139
@ -129,22 +129,31 @@ def _checker_add_review_team(self, opts, id_):
|
||||
return self._checker_add_review(opts, id_, by_group='opensuse-review-team', msg="Please review sources")
|
||||
|
||||
|
||||
def _checker_get_srcmd5(self, opts, src_project, src_package, rev):
|
||||
def _checker_get_verifymd5(self, opts, src_project, src_package, rev=None):
|
||||
query = {
|
||||
'expand': 1,
|
||||
'rev': rev,
|
||||
'view': 'info',
|
||||
|
||||
}
|
||||
if rev:
|
||||
query['rev'] = rev
|
||||
url = makeurl(opts.apiurl, ('source', src_project, src_package), query=query)
|
||||
root = ET.parse(http_GET(url)).getroot()
|
||||
try:
|
||||
root = ET.parse(http_GET(url)).getroot()
|
||||
except urllib2.HTTPError:
|
||||
return None
|
||||
|
||||
if root is not None:
|
||||
srcmd5 = root.get('srcmd5')
|
||||
srcmd5 = root.get('verifymd5')
|
||||
return srcmd5
|
||||
|
||||
|
||||
def _checker_is_srcmd5_in_factory(self, opts, src_package, srcmd5):
|
||||
factory_srcmd5 = self._checker_get_srcmd5(opts, 'openSUSE:Factory',
|
||||
src_package, srcmd5)
|
||||
return srcmd5 and srcmd5 == factory_srcmd5
|
||||
if not srcmd5:
|
||||
return False
|
||||
|
||||
factory_srcmd5 = self._checker_get_verifymd5(opts, 'openSUSE:Factory',
|
||||
src_package)
|
||||
return srcmd5 == factory_srcmd5
|
||||
|
||||
|
||||
def _checker_accept_request(self, opts, id_, msg, diff=10000):
|
||||
@ -192,7 +201,7 @@ def _checker_one_request(self, rq, opts):
|
||||
tpkg = act.find('target').get('package')
|
||||
|
||||
# Check in the srcmd5 is actually in Factory
|
||||
srcmd5 = self._checker_get_srcmd5(opts, prj, pkg, rev)
|
||||
srcmd5 = self._checker_get_verifymd5(opts, prj, pkg, rev=rev)
|
||||
if self._checker_is_srcmd5_in_factory(opts, pkg, srcmd5):
|
||||
msg = 'Found Factory sources'
|
||||
self._checker_change_review_state(opts, id_, 'accepted', by_group='factory-auto', message=msg)
|
||||
@ -378,8 +387,9 @@ def do_check_source(self, subcmd, opts, *args):
|
||||
if not ids:
|
||||
review = "@by_group='factory-auto'+and+@state='new'"
|
||||
target = "@project='openSUSE:{}'".format(self.api.opensuse)
|
||||
target_nf = "@project='openSUSE:{}:NonFree'".format(self.api.opensuse)
|
||||
url = makeurl(opts.apiurl, ('search', 'request'),
|
||||
"match=state/@name='review'+and+review[%s]+and+target[%s]" % (review, target))
|
||||
"match=state/@name='review'+and+review[%s]+and+(target[%s]+or+target[%s])" % (review, target, target_nf))
|
||||
root = ET.parse(http_GET(url)).getroot()
|
||||
for rq in root.findall('request'):
|
||||
self._checker_one_request(rq, opts)
|
||||
|
Loading…
x
Reference in New Issue
Block a user