From 0a53824104d890d1f8e5621d881ac034b23f9bd5 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Thu, 20 Mar 2014 07:48:23 +0100 Subject: [PATCH] URL.open and URL.go can take 'params' argument --- weboob/tools/browser2/page.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/weboob/tools/browser2/page.py b/weboob/tools/browser2/page.py index c74e889f..aea510e8 100644 --- a/weboob/tools/browser2/page.py +++ b/weboob/tools/browser2/page.py @@ -26,12 +26,10 @@ from copy import deepcopy from cStringIO import StringIO import lxml.html as html +from weboob.tools.json import json from weboob.tools.ordereddict import OrderedDict from weboob.tools.regex_helper import normalize -from weboob.tools.parsers.lxmlparser import LxmlHtmlParser -from weboob.tools.parsers.jsonparser import JsonParser - from weboob.tools.log import getLogger from .browser import DomainBrowser @@ -84,7 +82,7 @@ class URL(object): return self.go(**kwargs) - def go(self, **kwargs): + def go(self, params=None, data=None, **kwargs): """ Request to go on this url. @@ -93,10 +91,10 @@ class URL(object): >>> url = URL('http://exawple.org/(?P).html') >>> url.stay_or_go(pagename='index') """ - r = self.browser.location(self.build(**kwargs)) + r = self.browser.location(self.build(**kwargs), params=params, data=data) return r.page or r - def open(self, data=None, **kwargs): + def open(self, params=None, data=None, **kwargs): """ Request to open on this url. @@ -106,9 +104,9 @@ class URL(object): :type url: str or dict or None >>> url = URL('http://exawple.org/(?P).html') - >>> url.open(pagename='index) + >>> url.open(pagename='index') """ - r = self.browser.open(self.build(**kwargs), data=data) + r = self.browser.open(self.build(**kwargs), params=params, data=data) return r.page or r def build(self, **kwargs): @@ -402,8 +400,7 @@ class Form(OrderedDict): class JsonPage(BasePage): def __init__(self, browser, response, *args, **kwargs): super(JsonPage, self).__init__(browser, response, *args, **kwargs) - parser = JsonParser() - self.doc = parser.parse(StringIO(response.content), response.encoding) + self.doc = json.loads(response.text) class HTMLPage(BasePage): """