def setup(self, args="anaconda"): TUIObject.setup(self, args) environment = args cats_and_spokes = self._collectCategoriesAndSpokes() categories = cats_and_spokes.keys() # display categories by sort order or class name if their # sort order is the same for c in common.sort_categories(categories): hub_spokes = [] for spoke_class in cats_and_spokes[c]: # Do the checks for the spoke and create the spoke if spoke_class.should_run(environment, self.data): spoke = spoke_class(self.data, self.storage, self.payload) if spoke.showable: spoke.initialize() else: log.warning("Spoke %s initialization failure!", spoke.__class__.__name__) del spoke continue if spoke.indirect: continue hub_spokes.append(spoke) # sort created spokes and add them to result structures for spoke in sorted(hub_spokes, key=lambda s: s.title): self._spoke_count += 1 self._spokes_map.append(spoke) self._spokes[spoke.__class__.__name__] = spoke if self._spoke_count: # initialization of all expected spokes has been started, so notify the controller hub_controller = lifecycle.get_controller_by_name( self.__class__.__name__) if hub_controller: hub_controller.all_modules_added() else: log.error( "Initialization controller for hub %s expected but missing.", self.__class__.__name__) # only schedule the hub if it has some spokes return self._spoke_count != 0
def setup(self, args="anaconda"): TUIObject.setup(self, args) environment = args cats_and_spokes = self._collectCategoriesAndSpokes() categories = cats_and_spokes.keys() for c in sorted(categories, key=lambda i: i.title): hub_spokes = [] for spoke_class in cats_and_spokes[c]: # Do the checks for the spoke and create the spoke if spoke_class.should_run(environment, self.data): spoke = spoke_class(self.data, self.storage, self.payload, self.instclass) if spoke.showable: spoke.initialize() else: log.warning("Spoke %s initialization failure!", spoke.__class__.__name__) del spoke continue if spoke.indirect: continue hub_spokes.append(spoke) # sort created spokes and add them to result structures for spoke in sorted(hub_spokes, key=lambda s: s.title): self._spoke_count += 1 self._spokes_map.append(spoke) self._spokes[spoke.__class__.__name__] = spoke if self._spoke_count: # initialization of all expected spokes has been started, so notify the controller hub_controller = lifecycle.get_controller_by_name(self.__class__.__name__) if hub_controller: hub_controller.all_modules_added() else: log.error("Initialization controller for hub %s expected but missing.", self.__class__.__name__) # only schedule the hub if it has some spokes return self._spoke_count != 0