equal
deleted
inserted
replaced
326 for cube in cubes: |
326 for cube in cubes: |
327 assert cube in newcubes |
327 assert cube in newcubes |
328 self.config.add_cubes(newcubes) |
328 self.config.add_cubes(newcubes) |
329 return newcubes |
329 return newcubes |
330 |
330 |
331 def cmd_remove_cube(self, cube): |
331 def cmd_remove_cube(self, cube, removedeps=True): |
|
332 if removedeps: |
|
333 toremove = self.config.expand_cubes([cube]) |
|
334 else: |
|
335 toremove = (cube,) |
332 origcubes = self.config._cubes |
336 origcubes = self.config._cubes |
333 basecubes = list(origcubes) |
337 basecubes = [c for c in origcubes if not c in toremove] |
334 for pkg in self.config.expand_cubes([cube]): |
|
335 try: |
|
336 basecubes.remove(pkg) |
|
337 except ValueError: |
|
338 continue |
|
339 self.config._cubes = tuple(self.config.expand_cubes(basecubes)) |
338 self.config._cubes = tuple(self.config.expand_cubes(basecubes)) |
340 removed = [p for p in origcubes if not p in self.config._cubes] |
339 removed = [p for p in origcubes if not p in self.config._cubes] |
341 assert cube in removed, \ |
340 assert cube in removed, \ |
342 "can't remove cube %s, used as a dependancy" % cube |
341 "can't remove cube %s, used as a dependancy" % cube |
343 return removed |
342 return removed |