common/migration.py
branchstable
changeset 2122 4ea13a828513
parent 1977 606923dff11b
child 2124 5a0b02f37b23
equal deleted inserted replaced
2121:9a14e1ee0eab 2122:4ea13a828513
   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