내 프로그램에 대한 플러그인 시스템을 쓰고 있어요 내가 과거에 한 가지를 얻을 수 없습니다문제 (파이썬 2.5.2)
class ThingLoader(object):
'''
Loader class
'''
def loadPlugins(self):
'''
Get all the plugins from plugins folder
'''
from diones.thingpad.plugin.IntrospectionHelper import loadClasses
classList=loadClasses('./plugins', IPlugin)#Gets a list of
#plugin classes
self.plugins={}#Dictionary that should be filled with
#touples of objects and theirs states, activated, deactivated.
classList[0](self)#Runs nicelly
foo = classList[1]
print foo#prints <class 'TestPlugin.TestPlugin'>
foo(self)#Raise an exception
테스트 플러그인은 다음과 같습니다
import diones.thingpad.plugin.IPlugin as plugin
class TestPlugin(plugin.IPlugin):
'''
classdocs
'''
def __init__(self, loader):
self.name='Test Plugin'
super(TestPlugin, self).__init__(loader)
이제 IPlugin은 다음과 같습니다
class IPlugin(object):
'''
classdocs
'''
name=''
def __init__(self, loader):
self.loader=loader
def activate(self):
pass
모든 IPlugin 클래스
은 그들에 의해 flawlessy 작동 자아를하지만, ThingLoader 음식물에 의해 호출 할 때 숫양은 예외를 얻는다 :File "./plugins\TestPlugin.py", line 13, in __init__
super(TestPlugin, self).__init__(loader) NameError:
global name 'super' is not defined
나는 주변을 둘러 보았고 나는 무엇이 계속되고 있는지 간단히 알지 못한다.
허용 된 답변을 읽은 후 불완전하고 오해의 소지가 있다는 질문에 대해 downvote를하고 싶습니다. –