diff --git a/weboob/backend.py b/weboob/backend.py index 52dfc977..611684f1 100644 --- a/weboob/backend.py +++ b/weboob/backend.py @@ -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 diff --git a/weboob/frontends/dummy/scripts/dummy b/weboob/frontends/dummy/scripts/dummy index 4d2edc2d..4d3a4a95 100755 --- a/weboob/frontends/dummy/scripts/dummy +++ b/weboob/frontends/dummy/scripts/dummy @@ -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__': diff --git a/weboob/modules.py b/weboob/modules.py index 5ef0f9e0..3b62a830 100644 --- a/weboob/modules.py +++ b/weboob/modules.py @@ -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