[firstboot 2/2] Improve module loading (#797896)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



---
 firstboot/interface.py |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/firstboot/interface.py b/firstboot/interface.py
index 45d6c4f..ce0ff50 100644
--- a/firstboot/interface.py
+++ b/firstboot/interface.py
@@ -269,19 +269,29 @@ class Interface(object):
            UI elements for each page and stuffs the rendered page into a UI
            wrapper containing the module's title and icon.
         """
+        loaded_modules = []
+
         for module in self.moduleList:
             try:
                 module.createScreen()
+            except Exception as e:
+                logging.error(_("Module %s raised an exception while loading: %s" % (module.title, e)))
+                continue
 
-                if isinstance(module, Module) and module.vbox is None:
-                    logging.error(_("Module %s did not set up its UI, removing.") % module.title)
-                    self.moduleList.remove(module)
+            if isinstance(module, Module) and module.vbox is None:
+                logging.error(_("Module %s did not set up its UI properly.") % module.title)
+                continue
 
+            try:
                 module.renderModule(self)
-            except:
-                self.moduleList.remove(module)
+            except Exception as e:
+                logging.error(_("Module %s raised an exception while rendering: %s" % (module.title, e)))
                 continue
 
+            loaded_modules.append(module)
+
+        self.moduleList = loaded_modules
+
     def createSidebar(self):
         """Add the sidebarTitle from every module to the sidebar."""
         for module in self.moduleList:
-- 
1.7.5.4

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list


[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux