From ec64a52643582bde5fe8c58c87e31489de0a2a5f Mon Sep 17 00:00:00 2001 From: Laurent Bachelier Date: Mon, 16 Apr 2012 15:13:03 +0200 Subject: [PATCH] browser2: Misc doc/refactor --- weboob/tools/browser2/browser.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/weboob/tools/browser2/browser.py b/weboob/tools/browser2/browser.py index b01ee83e..019d45ab 100644 --- a/weboob/tools/browser2/browser.py +++ b/weboob/tools/browser2/browser.py @@ -116,13 +116,17 @@ class BaseBrowser(object): TIMEOUT = 10.0 def __init__(self): - profile = self.PROFILE - self._setup_session(profile) + self._setup_session(self.PROFILE) self._setup_cookies() self.url = None self.response = None def _setup_cookies(self): + """ + Create and configure a cookie jar. + + Overload this method to set custom options, or even change the class. + """ self.cookies = CookieJar() def _setup_session(self, profile): @@ -131,6 +135,8 @@ class BaseBrowser(object): """ session = requests.Session() + if self.TIMEOUT: + session.timeout = self.TIMEOUT # Raise exceptions on HTTP errors session.config['safe_mode'] = False session.config['danger_mode'] = True @@ -147,6 +153,8 @@ class BaseBrowser(object): * Mimic what browsers do on 302 * Handle cookies securely + This method is called by open() or location() unless allow_redirects is False. + Returns a new Response object with the history of previous responses in it. @@ -319,9 +327,6 @@ class BaseBrowser(object): # Yes, it is a misspelling. kwargs.setdefault('headers', {}).setdefault('Referer', referrer) - if self.TIMEOUT: - kwargs.setdefault('timeout', self.TIMEOUT) - cookies = kwargs.pop('cookies', None) # get the relevant cookies for the URL # from the jar (unless they are overriden)