From 8b822dcd0917f5206886df3bb7ced423a21ffd1e Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Tue, 27 Apr 2010 00:59:59 +0200 Subject: [PATCH] BaseBackend has now a mutex and can be used in a 'with' statement to lock it --- weboob/backend.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/weboob/backend.py b/weboob/backend.py index 46ff9a0c..84e7e4e3 100644 --- a/weboob/backend.py +++ b/weboob/backend.py @@ -19,6 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. """ import re +from threading import RLock __all__ = ['BackendStorage', 'BaseBackend'] @@ -75,9 +76,19 @@ class BaseBackend(object): class ConfigError(Exception): pass + def __enter__(self): + self.lock.acquire() + + def __exit__(self, t, v, tb): + self.lock.release() + + def __repr__(self): + return u"" % self.name + def __init__(self, weboob, name, config, storage): self.weboob = weboob self.name = name + self.lock = RLock() self.config = {} for name, field in self.CONFIG.iteritems(): value = config.get(name, field.default)