Merge pull request #2340 from coolo/add_move

Implement select --move by unselect+select
This commit is contained in:
Stephan Kulow 2019-11-25 18:43:37 +01:00 committed by GitHub
commit 9223dbef20
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 18 deletions

View File

@ -63,9 +63,9 @@ class SelectCommand(object):
supersede = False
staged_requests = {
self.api.packages_staged[package]['rq_id']: package for package in self.api.packages_staged
int(self.api.packages_staged[package]['rq_id']): package for package in self.api.packages_staged
}
if self._package(request) in staged_requests:
if request in staged_requests:
supersede = self._supersede(request)
if request not in staged_requests and not supersede:

View File

@ -291,23 +291,12 @@ class StagingAPI(object):
:param destination_project: Destination project
"""
# Get the relevant information about source
meta = self.get_prj_pseudometa(source_project)
found = False
for req in meta['requests']:
if int(req['id']) == int(req_id):
found = True
break
if not found:
return None
if not self.rm_from_prj(source_project, request_id=req_id,
msg='Moved to {}'.format(destination_project)):
return False
# Copy the package
self.rq_to_prj(req_id, destination_project)
# Delete the old one
self.rm_from_prj(source_project, request_id=req_id,
msg='Moved to {}'.format(destination_project))
return True
return self.rq_to_prj(req_id, destination_project)
def get_staging_projects(self):
"""
@ -677,7 +666,7 @@ class StagingAPI(object):
package = self.get_package_for_request_id(project, request_id)
if not package or not request_id:
print('no package or no request_id')
return
return False
orig_project = project
if self._supersede:
@ -689,6 +678,7 @@ class StagingAPI(object):
# Deleting the main package removes local links as well
self.delete_request(self.project, project, request_id)
return True
def delete_request(self, project, stage, request):
requestxml = f"<requests><request id='{request}'/></requests>"