From 2650c32b249b0712911c5e084d9645c344e08998 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Tue, 27 Apr 2010 01:14:22 +0200 Subject: [PATCH] lock on Browser (snif) --- weboob/tools/browser.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/weboob/tools/browser.py b/weboob/tools/browser.py index 1e59b3ef..a09abead 100644 --- a/weboob/tools/browser.py +++ b/weboob/tools/browser.py @@ -25,6 +25,7 @@ import re import time from logging import warning, error, debug from copy import copy +from threading import RLock from weboob.tools.parsers import get_parser @@ -160,12 +161,19 @@ class BaseBrowser(mechanize.Browser): self.last_update = 0.0 self.username = username self.password = password + self.lock = RLock() if self.password: try: self.home() except BrowserUnavailable: pass + def __enter__(self): + self.lock.acquire() + + def __exit__(self, t, v, tb): + self.lock.release() + def pageaccess(func): def inner(self, *args, **kwargs): if not self.page or self.password and not self.page.is_logged():