Example #1
0
 def _setup_modules(self):
   """
     Setup all initialized modules.
   """
   module_registry = AppModule.module_registry()
   for bundle in topological_sort(AppModule.module_dependencies()):
     for module_label in bundle:
       assert module_label in module_registry
       module = module_registry[module_label]
       self._debug_log('Initializing: %s (%s)' % (module.label(), module.description()))
       try:
         module.setup_function()
       except AppModule.Unimplemented:
         pass
       self._init_modules.append(module.label())
Example #2
0
 def _teardown_modules(self):
   """
     Teardown initialized module in reverse initialization order.
   """
   module_registry = AppModule.module_registry()
   for module_label in reversed(self._init_modules):
     assert module_label in module_registry
     module = module_registry[module_label]
     self._debug_log('Running exit function for %s (%s)' % (module_label, module.description()))
     try:
       module.teardown_function()
     except AppModule.Unimplemented:
       pass