Explorar o código

Catch all exceptions when loading plugins

Unrud %!s(int64=8) %!d(string=hai) anos
pai
achega
75605b5f03
Modificáronse 4 ficheiros con 12 adicións e 12 borrados
  1. 3 3
      radicale/auth.py
  2. 3 3
      radicale/rights.py
  3. 3 3
      radicale/storage.py
  4. 3 3
      radicale/web.py

+ 3 - 3
radicale/auth.py

@@ -75,9 +75,9 @@ def load(configuration, logger):
     else:
         try:
             class_ = import_module(auth_type).Auth
-        except ImportError as e:
-            raise RuntimeError("Authentication module %r not found" %
-                               auth_type) from e
+        except Exception as e:
+            raise RuntimeError("Failed to load authentication module %r: %s" %
+                               (auth_type, e)) from e
     logger.info("Authentication type is %r", auth_type)
     return class_(configuration, logger)
 

+ 3 - 3
radicale/rights.py

@@ -63,9 +63,9 @@ def load(configuration, logger):
     else:
         try:
             rights_class = import_module(rights_type).Rights
-        except ImportError as e:
-            raise RuntimeError("Rights module %r not found" %
-                               rights_type) from e
+        except Exception as e:
+            raise RuntimeError("Failed to load rights module %r: %s" %
+                               (rights_type, e)) from e
     logger.info("Rights type is %r", rights_type)
     return rights_class(configuration, logger).authorized
 

+ 3 - 3
radicale/storage.py

@@ -101,9 +101,9 @@ def load(configuration, logger):
     else:
         try:
             collection_class = import_module(storage_type).Collection
-        except ImportError as e:
-            raise RuntimeError("Storage module %r not found" %
-                               storage_type) from e
+        except Exception as e:
+            raise RuntimeError("Failed to load storage module %r: %s" %
+                               (storage_type, e)) from e
     logger.info("Storage type is %r", storage_type)
 
     class CollectionCopy(collection_class):

+ 3 - 3
radicale/web.py

@@ -55,9 +55,9 @@ def load(configuration, logger):
     else:
         try:
             web_class = import_module(web_type).Web
-        except ImportError as e:
-            raise RuntimeError("Web module %r not found" %
-                               web_type) from e
+        except Exception as e:
+            raise RuntimeError("Failed to load web module %r: %s" %
+                               (web_type, e)) from e
     logger.info("Web type is %r", web_type)
     return web_class(configuration, logger)