X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/c8c839608b98cc3b37e90d049b66e646f8e46cd9..6bdfaadd65fe35ba568799b0e42c54e5a95e27ed:/lib/python/Components/PluginComponent.py diff --git a/lib/python/Components/PluginComponent.py b/lib/python/Components/PluginComponent.py index e5ceb90d..dd29628b 100644 --- a/lib/python/Components/PluginComponent.py +++ b/lib/python/Components/PluginComponent.py @@ -1,16 +1,9 @@ import os from Tools.Directories import * +from Tools.Import import my_import from Plugins.Plugin import PluginDescriptor -def my_import(name): - print name - mod = __import__(name) - components = name.split('.') - for comp in components[1:]: - mod = getattr(mod, comp) - return mod - class PluginComponent: def __init__(self): self.plugins = {} @@ -47,16 +40,16 @@ class PluginComponent: continue open(directory_category + "/__init__.py", "a").close() for x in os.listdir(directory_category): - path = directory_category + "/" + x + "/" + path = directory_category + "/" + x if os.path.isdir(path): - if fileExists(path + "plugin.py"): + if fileExists(path + "/plugin.pyc") or fileExists(path + "/plugin.py"): plugin = my_import('.'.join(["Plugins", c, x, "plugin"])) if not plugin.__dict__.has_key("Plugins"): print "Plugin %s doesn't have 'Plugin'-call." % (x) continue - plugins = plugin.Plugins() + plugins = plugin.Plugins(path=path) # allow single entry not to be a list if type(plugins) is not list: