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 |