remove sub packages on unselect

http://pastebin/10224
This commit is contained in:
Stephan Kulow 2014-06-17 13:57:19 +02:00
parent 65375ed945
commit 9579595e72
2 changed files with 11 additions and 0 deletions

View File

@ -111,6 +111,7 @@ class SelectCommand(object):
# If the project is not frozen enough yet freeze it # If the project is not frozen enough yet freeze it
if not self.api.prj_frozen_enough(target_project): if not self.api.prj_frozen_enough(target_project):
print('Freeze the prj first') print('Freeze the prj first')
return False
# FreezeCommand(self.api).perform(target_project) # FreezeCommand(self.api).perform(target_project)
self.target_project = target_project self.target_project = target_project

View File

@ -467,6 +467,11 @@ class StagingAPI(object):
self._remove_package_from_prj_pseudometa(project, package) self._remove_package_from_prj_pseudometa(project, package)
subprj = self.map_ring_package_to_subject(project, package) subprj = self.map_ring_package_to_subject(project, package)
delete_package(self.apiurl, subprj, package, force=True, msg=msg) delete_package(self.apiurl, subprj, package, force=True, msg=msg)
for sub_prj, sub_pkg in self.get_sub_packages(package):
sub_prj = self.map_ring_package_to_subject(project, sub_pkg)
delete_package(self.apiurl, sub_prj, sub_pkg, force=True, msg=msg)
self.set_review(request_id, project, state=review, msg=msg) self.set_review(request_id, project, state=review, msg=msg)
def create_package_container(self, project, package, disable_build=False): def create_package_container(self, project, package, disable_build=False):
@ -896,6 +901,11 @@ class StagingAPI(object):
sub_prj = self.map_ring_package_to_subject(project, sub_pkg) sub_prj = self.map_ring_package_to_subject(project, sub_pkg)
self.create_and_wipe_package(sub_prj, sub_pkg) self.create_and_wipe_package(sub_prj, sub_pkg)
# create a link so unselect can find it
root = ET.Element('link', package=tar_pkg, project=project)
url = self.makeurl(['source', sub_prj, sub_pkg, '_link'])
http_PUT(url, data=ET.tostring(root))
return tar_pkg return tar_pkg
def submit_to_prj(self, act, project): def submit_to_prj(self, act, project):