Merge branch 'master' of github.com:openSUSE/osc-plugin-factory
This commit is contained in:
commit
eaa56d06e3
@ -33,14 +33,22 @@ class RequestFinder:
|
|||||||
self.srs = {}
|
self.srs = {}
|
||||||
|
|
||||||
def _filter_review_by_project(self, element, state):
|
def _filter_review_by_project(self, element, state):
|
||||||
|
"""
|
||||||
|
Takes a XML that contains a list of reviews and take the ones
|
||||||
|
that in state 'state'.
|
||||||
|
"""
|
||||||
reviews = [r.get('by_project')
|
reviews = [r.get('by_project')
|
||||||
for r in element.findall('review')
|
for r in element.findall('review')
|
||||||
if r.get('by_project') and r.get('state') == state]
|
if r.get('by_project') and r.get('state') == state]
|
||||||
return reviews
|
return reviews
|
||||||
|
|
||||||
def _new_review_by_project(self, request, element):
|
def _new_review_by_project(self, request, element):
|
||||||
|
"""
|
||||||
|
Takes a XML that contains a list of reviews and return True if
|
||||||
|
'request' is in the list with state as 'new'.
|
||||||
|
"""
|
||||||
reviews = self._filter_review_by_project(element, 'new')
|
reviews = self._filter_review_by_project(element, 'new')
|
||||||
assert len(reviews) <= 1, 'Request "{}" have more than one review by project "{}"'.format(request,
|
assert len(reviews) <= 1, 'Request "{}" have multiple review by project in new state "{}"'.format(request,
|
||||||
reviews)
|
reviews)
|
||||||
return reviews[0] if reviews else None
|
return reviews[0] if reviews else None
|
||||||
|
|
||||||
|
@ -47,8 +47,14 @@ class SelectCommand(object):
|
|||||||
else:
|
else:
|
||||||
# supersede = (new_rq, package, project)
|
# supersede = (new_rq, package, project)
|
||||||
fprj = rq_prj['staging'] if not supersede else supersede[2]
|
fprj = rq_prj['staging'] if not supersede else supersede[2]
|
||||||
|
|
||||||
if supersede:
|
if supersede:
|
||||||
print('"{} ({}) is superseded by {}'.format(rq, supersede[1], supersede[0]))
|
print('"{} ({}) is superseded by {}'.format(rq, supersede[1], supersede[0]))
|
||||||
|
|
||||||
|
if fprj == self.tprj:
|
||||||
|
print('"{}" is currently in "{}"'.format(rq, self.tprj))
|
||||||
|
return False
|
||||||
|
|
||||||
print('Moving "{}" from "{}" to "{}"'.format(rq, fprj, self.tprj))
|
print('Moving "{}" from "{}" to "{}"'.format(rq, fprj, self.tprj))
|
||||||
return self.api.move_between_project(fprj, rq, self.tprj)
|
return self.api.move_between_project(fprj, rq, self.tprj)
|
||||||
elif 'staging' in rq_prj and not move:
|
elif 'staging' in rq_prj and not move:
|
||||||
|
@ -157,10 +157,11 @@ class OBS(object):
|
|||||||
if len(path) == 0:
|
if len(path) == 0:
|
||||||
path = uri
|
path = uri
|
||||||
if len(path) > 1:
|
if len(path) > 1:
|
||||||
# XXX Warning. This ret is not returned
|
|
||||||
ret = self._pretty_callback(request, 'https://localhost' + posixpath.dirname(path), headers, False)
|
ret = self._pretty_callback(request, 'https://localhost' + posixpath.dirname(path), headers, False)
|
||||||
|
if ret:
|
||||||
|
return ret
|
||||||
if exception:
|
if exception:
|
||||||
raise BaseException("No tests/obs.pyresponse for {} on {} provided".format(request.method, uri))
|
raise BaseException("No response for {} on {} provided".format(request.method, uri))
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user