All pastes #475989 Raw Edit

Something

public text v1 · immutable
·published 2007-05-07 20:44 UTC
rendered paste body
def load_plugins(required=[]):
    filenames=os.listdir('./Plugins')
    home=os.getcwd()
    failed=0
    required_failed=0
    global plugins
    for filename in filenames:
        if os.path.isdir('./Plugins/%s'%filename):
            if filename in plugins: continue
            sys.path.append('%s\\%s'%(home,'Plugins\\%s'%filename))
            module_name,ext=os.path.splitext(filename)
            try:
                __import__(module_name, globals(), locals(), [])
                plugins.append(module_name)
                print '[%s] Loaded module `%s`.'%(ctime(),module_name)
            except Exception, e:
                print '[%s] Failed to loaded module `%s` (%s).'%(ctime(),module_name,e)
                failed+=1
    for req in required:
        if not req in plugins:
            print '[%s] (Warning) Required plugin `%s` not imported.'%(ctime(),req)
            required_failed+=1
    print '[%s] %s plugins loaded.'%(ctime(),len(plugins))
    print '[%s] %s plugins failed.'%(ctime(),failed)
    print '[%s] %s required plugins failed.'%(ctime(),required_failed)