common/migration.py
changeset 676 270eb87a768a
parent 447 0e52d72104a6
child 1802 d628defebc17
equal deleted inserted replaced
674:8580f1632055 676:270eb87a768a
   310 
   310 
   311     def cmd_option_type_changed(self, optname, oldtype, newvalue):
   311     def cmd_option_type_changed(self, optname, oldtype, newvalue):
   312         """a configuration option's type has changed"""
   312         """a configuration option's type has changed"""
   313         self._option_changes.append(('typechanged', optname, oldtype, newvalue))
   313         self._option_changes.append(('typechanged', optname, oldtype, newvalue))
   314         
   314         
   315     def cmd_add_cube(self, cube):
   315     def cmd_add_cubes(self, cubes):
       
   316         """modify the list of used cubes in the in-memory config
       
   317         returns newly inserted cubes, including dependencies
       
   318         """
       
   319         if isinstance(cubes, basestring):
       
   320             cubes = (cubes,)
   316         origcubes = self.config.cubes()
   321         origcubes = self.config.cubes()
   317         newcubes = [p for p in self.config.expand_cubes([cube]) 
   322         newcubes = [p for p in self.config.expand_cubes(cubes) 
   318                        if not p in origcubes]
   323                        if not p in origcubes]
   319         if newcubes:
   324         if newcubes:
   320             assert cube in newcubes
   325             for cube in cubes:
       
   326                 assert cube in newcubes
   321             self.config.add_cubes(newcubes)
   327             self.config.add_cubes(newcubes)
   322         return newcubes
   328         return newcubes
   323 
   329 
   324     def cmd_remove_cube(self, cube):
   330     def cmd_remove_cube(self, cube):
   325         origcubes = self.config._cubes
   331         origcubes = self.config._cubes