Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/env python
- import os, re, sys
- def loadPlugins():
- path = os.path.abspath(os.path.dirname(sys.argv[0]) + '/plugins')
- print "Path: %s" % path
- files = os.listdir(path)
- print "Files: %s " % files
- print "Applying re with pattern: _plugin\.py$"
- pattern = re.compile("_plugin\.py$", re.IGNORECASE)
- files = filter(pattern.search, files)
- filesToModuleName = lambda f: os.path.splitext(f)[0]
- moduleNames = map(filesToModuleName, files)
- print "Files to module names: %s" % moduleNames
- plugins = []
- for module in moduleNames:
- plugins.append(__import__('plugins.'+module, fromlist=['']))
- return plugins
- plugins = loadPlugins()
- print "Plugins: %s" % plugins
- for plugin in plugins:
- tmp = plugin.pluginMain()
- ---
- Path: /ModuleLoading/plugins
- Files: ['__init__.py', '__init__.pyc', 'loader.py', 'loader.pyc', 'SayHello_plugin.py', 'SayHello_plugin.pyc']
- Applying re with pattern: _plugin\.py$
- Files to module names: ['SayHello_plugin']
- Plugins: [<module 'plugins.SayHello_plugin' from '/ModuleLoading/plugins/SayHello_plugin.py'>]
- Hello, world!
Add Comment
Please, Sign In to add comment