browser2: Misc doc/refactor

This commit is contained in:
Laurent Bachelier 2012-04-16 15:13:03 +02:00 committed by Romain Bignon
commit ec64a52643

View file

@ -116,13 +116,17 @@ class BaseBrowser(object):
TIMEOUT = 10.0 TIMEOUT = 10.0
def __init__(self): def __init__(self):
profile = self.PROFILE self._setup_session(self.PROFILE)
self._setup_session(profile)
self._setup_cookies() self._setup_cookies()
self.url = None self.url = None
self.response = None self.response = None
def _setup_cookies(self): 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() self.cookies = CookieJar()
def _setup_session(self, profile): def _setup_session(self, profile):
@ -131,6 +135,8 @@ class BaseBrowser(object):
""" """
session = requests.Session() session = requests.Session()
if self.TIMEOUT:
session.timeout = self.TIMEOUT
# Raise exceptions on HTTP errors # Raise exceptions on HTTP errors
session.config['safe_mode'] = False session.config['safe_mode'] = False
session.config['danger_mode'] = True session.config['danger_mode'] = True
@ -147,6 +153,8 @@ class BaseBrowser(object):
* Mimic what browsers do on 302 * Mimic what browsers do on 302
* Handle cookies securely * 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 Returns a new Response object with the history of previous
responses in it. responses in it.
@ -319,9 +327,6 @@ class BaseBrowser(object):
# Yes, it is a misspelling. # Yes, it is a misspelling.
kwargs.setdefault('headers', {}).setdefault('Referer', referrer) kwargs.setdefault('headers', {}).setdefault('Referer', referrer)
if self.TIMEOUT:
kwargs.setdefault('timeout', self.TIMEOUT)
cookies = kwargs.pop('cookies', None) cookies = kwargs.pop('cookies', None)
# get the relevant cookies for the URL # get the relevant cookies for the URL
# from the jar (unless they are overriden) # from the jar (unless they are overriden)