From f65ca1c8b68b9d68ade01d77f4e8fee37ad13bd9 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Tue, 23 Mar 2010 11:56:18 +0100 Subject: [PATCH] improve caps --- weboob/backend.py | 5 +---- weboob/frontends/dummy/scripts/dummy | 4 ++-- weboob/modules.py | 5 +---- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/weboob/backend.py b/weboob/backend.py index 52dfc97754..611684f128 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 4d2edc2d97..4d3a4a9516 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 5ef0f9e046..3b62a830bd 100644 --- a/weboob/modules.py +++ b/weboob/modules.py @@ -39,10 +39,7 @@ def __init__(self, name, 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 -- GitLab