improve caps

This commit is contained in:
Romain Bignon 2010-03-23 11:56:18 +01:00
commit f65ca1c8b6
3 changed files with 4 additions and 10 deletions

View file

@ -23,10 +23,7 @@ class Backend:
def __init__(self, weboob):
self.weboob = weboob
def has_caps(self, caps):
if not isinstance(caps, (list,tuple)):
caps = (caps,)
def has_caps(self, *caps):
for c in caps:
if isinstance(self, c):
return True

View file

@ -33,11 +33,11 @@ class Application(BaseApplication):
self.weboob.load_modules()
for name, backend in self.weboob.iter_backends():
print '= Processing backend name = %s' % name
if isinstance(backend, ICapMessages):
if backend.has_caps(ICapMessages):
print '== Backend is ICapMessages => print its messages'
for message in backend.iter_new_messages():
print '=== %s' % message
if isinstance(backend, ICapMessagesReply):
if backend.has_caps(ICapMessagesReply):
print '== Backend is ICapMessagesReply => TODO'
if __name__ == '__main__':

View file

@ -39,10 +39,7 @@ class Module:
if not self.klass:
raise ImportError("This is not a backend module (no Backend class found)")
def has_caps(self, caps):
if not isinstance(caps, (list,tuple)):
caps = (caps,)
def has_caps(self, *caps):
for c in caps:
if issubclass(self.klass, c):
return True