don't consider a normal supersede a move
This commit is contained in:
parent
7c18c7da08
commit
d64f9a3f6a
@ -93,16 +93,23 @@ class RequestFinder:
|
|||||||
for sr in root.findall('request'):
|
for sr in root.findall('request'):
|
||||||
# TODO: check the package matches - OBS is case insensitive
|
# TODO: check the package matches - OBS is case insensitive
|
||||||
request = int(sr.get('id'))
|
request = int(sr.get('id'))
|
||||||
self.srs[request] = {'project': 'openSUSE:Factory'}
|
state = sr.find('state').get('name')
|
||||||
|
|
||||||
|
self.srs[request] = {'project': 'openSUSE:Factory', 'state': state }
|
||||||
|
|
||||||
review = self._new_review_by_project(request, sr)
|
review = self._new_review_by_project(request, sr)
|
||||||
if review:
|
if review:
|
||||||
self.srs[int(request)]['staging'] = review
|
self.srs[int(request)]['staging'] = review
|
||||||
|
|
||||||
if ret:
|
if ret:
|
||||||
msg = 'There are multiple requests for package "{}": {} and {}'
|
if self.srs[ret]['state'] == 'declined':
|
||||||
msg = msg.format(package, ret, request)
|
# ignore previous requests if they are declined
|
||||||
raise oscerr.WrongArgs(msg)
|
# if they are the last one, it's fine to return them
|
||||||
|
del self.srs[ret]
|
||||||
|
else:
|
||||||
|
msg = 'There are multiple requests for package "{}": {} and {}'
|
||||||
|
msg = msg.format(package, ret, request)
|
||||||
|
raise oscerr.WrongArgs(msg)
|
||||||
ret = request
|
ret = request
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
@ -26,6 +26,8 @@ class SelectCommand(object):
|
|||||||
package = self._package(request)
|
package = self._package(request)
|
||||||
|
|
||||||
for staging in self.api.get_staging_projects():
|
for staging in self.api.get_staging_projects():
|
||||||
|
if staging == self.tprj: # requests for the same project are fine
|
||||||
|
continue
|
||||||
for rq in self.api.get_prj_pseudometa(staging)['requests']:
|
for rq in self.api.get_prj_pseudometa(staging)['requests']:
|
||||||
if rq['id'] != request and rq['package'] == package:
|
if rq['id'] != request and rq['package'] == package:
|
||||||
return (rq['id'], package, staging)
|
return (rq['id'], package, staging)
|
||||||
@ -50,13 +52,13 @@ class SelectCommand(object):
|
|||||||
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:
|
||||||
# Previously selected, but not explicit move
|
# Previously selected, but not explicit move
|
||||||
msg = 'Request {} is actually in "{}".\n'
|
msg = 'Request {} is already tracked in "{}".'
|
||||||
msg = msg.format(rq, rq_prj['staging'])
|
msg = msg.format(rq, rq_prj['staging'])
|
||||||
if rq_prj['staging'] != self.tprj:
|
if rq_prj['staging'] != self.tprj:
|
||||||
msg += 'Use --move modifier to move the request from "{}" to "{}"'
|
msg += '\nUse --move modifier to move the request from "{}" to "{}"'
|
||||||
msg = msg.format(rq_prj['staging'], self.tprj)
|
msg = msg.format(rq_prj['staging'], self.tprj)
|
||||||
print(msg)
|
print(msg)
|
||||||
return False
|
return True
|
||||||
else:
|
else:
|
||||||
raise oscerr.WrongArgs('Arguments for select are not correct.')
|
raise oscerr.WrongArgs('Arguments for select are not correct.')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user