From 79c7bd9816bab9290787ca8e7882c2cc71ed2104 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Thu, 11 Nov 2010 01:11:17 +0100 Subject: [PATCH] get_backend can get an optional 'default' parameter --- weboob/core/ouiboube.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/weboob/core/ouiboube.py b/weboob/core/ouiboube.py index 7e34c28c..5c33d4e8 100644 --- a/weboob/core/ouiboube.py +++ b/weboob/core/ouiboube.py @@ -132,8 +132,20 @@ class Weboob(object): return unloaded - def get_backend(self, name): - return self.backend_instances[name] + def get_backend(self, name, **kwargs): + """ + Get a backend from its name. + + It raises a KeyError if not found. If you set the 'default' parameter, + the default value is returned instead. + """ + try: + return self.backend_instances[name] + except KeyError: + if 'default' in kwargs: + return kwargs['default'] + else: + raise def count_backends(self): return len(self.backend_instances)