Travis Shirk avatar Travis Shirk committed 978f8ad

Continue loading plugin modules after one errors on import.

Comments (0)

Files changed (1)

src/eyed3/plugins/__init__.py

                     continue
 
                 mod_name = os.path.splitext(f)[0]
-                mod = __import__(mod_name, globals=globals(),
-                                 locals=locals())
+                try:
+                    mod = __import__(mod_name, globals=globals(),
+                                     locals=locals())
+                except ImportError as ex:
+                    log.warning("Plugin '%s' requires packages that are not "
+                                "installed: %s" % ((f, d), ex))
+                    continue
+                except exceptions.Exception as ex:
+                    log.exception("Bad plugin '%s'", (f, d))
+                    continue
 
                 for attr in [getattr(mod, a) for a in dir(mod)]:
                     if (type(attr) == types.TypeType and
                             if name and name in PluginClass.NAMES:
                                 return PluginClass
 
-        except ImportError as ex:
-            log.warning("Plugin '%s' requires packages that are not "
-                        "installed: %s" % ((f, d), ex))
-            continue
-        except exceptions.Exception as ex:
-            log.exception("Bad plugin '%s'", (f, d))
-            continue
-
         finally:
             if d in sys.path:
                 sys.path.remove(d)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.