new methods Weboob.do() and Weboob.do_caps() to do asynchronous calls

This commit is contained in:
Romain Bignon 2010-04-27 00:59:31 +02:00
commit adb77fc586

View file

@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
import os
from logging import warning
from weboob.bcall import BackendsCall
from weboob.modules import ModulesLoader, BackendsConfig
from weboob.scheduler import Scheduler
@ -94,6 +95,14 @@ class Weboob(object):
if caps is None or backend.has_caps(caps):
yield backend
def do(self, function, *args, **kwargs):
backends = [b for b in self.iter_backends()]
return BackendsCall(backends, function, *args, **kwargs)
def do_caps(self, caps, function, *args, **kwargs):
backends = [b for b in self.iter_backends(caps)]
return BackendsCall(backends, function, *args, **kwargs)
def schedule(self, interval, function, *args):
return self.scheduler.schedule(interval, function, *args)