add a move command to test (and fix) the move api
This commit is contained in:
parent
b2fff384b2
commit
33169f0cba
@ -358,6 +358,8 @@ def do_staging(self, subcmd, opts, *args):
|
||||
min_args, max_args = 1, 2
|
||||
elif cmd in ['select']:
|
||||
min_args, max_args = 2, None
|
||||
elif cmd in ['move']:
|
||||
min_args, max_args = 3, None
|
||||
elif cmd in ['list', 'cleanup_rings']:
|
||||
min_args, max_args = 0, 0
|
||||
else:
|
||||
@ -395,6 +397,12 @@ def do_staging(self, subcmd, opts, *args):
|
||||
stprj = 'openSUSE:Factory:Staging:%s' % args[1]
|
||||
for i in range(2, len(args)):
|
||||
api.rq_to_prj(args[i], stprj)
|
||||
elif cmd in ['move']:
|
||||
# TODO: have an api call for that
|
||||
sprj = 'openSUSE:Factory:Staging:%s' % args[1]
|
||||
tprj = 'openSUSE:Factory:Staging:%s' % args[2]
|
||||
for i in range(3, len(args)):
|
||||
api.move_between_project(sprj, args[i], tprj)
|
||||
elif cmd in ['cleanup_rings']:
|
||||
import osclib.cleanup_rings
|
||||
osclib.cleanup_rings.CleanupRings(opts.apiurl).perform()
|
||||
|
@ -84,7 +84,7 @@ class StagingAPI(object):
|
||||
"""
|
||||
|
||||
# Get the relevant information about source
|
||||
meta = get_prj_pseudometa(source_project)
|
||||
meta = self.get_prj_pseudometa(source_project)
|
||||
req_id = -1
|
||||
for req in meta['requests']:
|
||||
if req['package'] == package:
|
||||
@ -93,9 +93,9 @@ class StagingAPI(object):
|
||||
raise oscerr.WrongArgs("Couldn't find request for package {0} in project {1}".format(package,source_project))
|
||||
|
||||
# Copy the package
|
||||
rq_to_prj(req_id, destination_project)
|
||||
self.rq_to_prj(req_id, destination_project)
|
||||
# Delete the old one
|
||||
rm_from_prj(package, source_project, 'Moved to {0}'.format(destination_project))
|
||||
self.rm_from_prj(package, source_project, 'Moved to {0}'.format(destination_project))
|
||||
|
||||
def get_staging_projects(self):
|
||||
"""
|
||||
@ -285,7 +285,7 @@ class StagingAPI(object):
|
||||
|
||||
data = self.get_prj_pseudometa(project)
|
||||
data['requests'] = filter(lambda x: x['package'] != package, data['requests'])
|
||||
self.set_prj_pseudometa(project, newdata)
|
||||
self.set_prj_pseudometa(project, data)
|
||||
# FIXME Add sr to group request as well
|
||||
|
||||
def rm_from_prj(self, package, project, msg = None):
|
||||
@ -296,7 +296,7 @@ class StagingAPI(object):
|
||||
:param msg: message for the log
|
||||
"""
|
||||
|
||||
_remove_rq_from_prj_pseudometa(project, package)
|
||||
self._remove_rq_from_prj_pseudometa(project, package)
|
||||
delete_package(self.apiurl, project, package, force=True, msg=msg)
|
||||
|
||||
def create_package_container(self, project, package, disable_build = False):
|
||||
@ -371,7 +371,7 @@ class StagingAPI(object):
|
||||
# read info from sr
|
||||
tar_pkg = None
|
||||
|
||||
req = get_request(self.apiurl, request_id)
|
||||
req = get_request(self.apiurl, str(request_id))
|
||||
if not req:
|
||||
raise oscerr.WrongArgs("Request {0} not found".format(request_id))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user