+
+loaded = {}
+def findlib(name):
+ def load(name):
+ mod = __import__(name, fromlist=["dummy"])
+ if not hasattr(mod, "library"):
+ raise ImportError("module " + name + " is not a manga library")
+ return mod.library()
+ if name not in loaded:
+ try:
+ loaded[name] = load("manga." + name)
+ except ImportError:
+ loaded[name] = load(name)
+ return loaded[name]