[browser2] Add JsonPage

This commit is contained in:
Bezleputh 2014-03-20 00:39:39 +01:00
commit 06cee506f9
2 changed files with 11 additions and 2 deletions

View file

@ -18,8 +18,8 @@
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
from .browser import BaseBrowser, DomainBrowser, Wget, Firefox, UrlNotAllowed, Profile
from .page import PagesBrowser, BasePage, URL, HTMLPage, LoginBrowser, need_login
from .page import PagesBrowser, BasePage, URL, HTMLPage, LoginBrowser, need_login, JsonPage
__all__ = ['BaseBrowser', 'DomainBrowser', 'Wget', 'Firefox', 'UrlNotAllowed', 'Profile',
'PagesBrowser', 'BasePage', 'URL', 'HTMLPage', 'LoginBrowser', 'need_login']
'PagesBrowser', 'BasePage', 'URL', 'HTMLPage', 'LoginBrowser', 'need_login', 'JsonPage']

View file

@ -28,6 +28,10 @@ import lxml.html as html
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
@ -395,6 +399,11 @@ class Form(OrderedDict):
"""
return self.page.browser.location(self.request)
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)
class HTMLPage(BasePage):
"""