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