コード例 #1
0
 def __init__(self, i_want_broken_xhtml_support=False):
     if OLD_MECHANIZE_VERSION:
         forms_factory = mechanize.FormsFactory(
             form_parser_class=ClientForm.XHTMLCompatibleFormParser)
     else:
         forms_factory = mechanize.FormsFactory(
             form_parser_class=mechanize.XHTMLCompatibleFormParser)
     mechanize.Factory.__init__(
         self,
         forms_factory=forms_factory,
         links_factory=mechanize.LinksFactory(),
         title_factory=mechanize.TitleFactory(),
         response_type_finder=mechanize._html.ResponseTypeFinder(
             allow_xhtml=i_want_broken_xhtml_support),
         )
コード例 #2
0
ファイル: aib.py プロジェクト: normanr/aib2ofx
    def __init__(self, logindata, chatter):
        self.logindata = logindata
        factory = mechanize.DefaultFactory()
        factory._forms_factory = mechanize.FormsFactory(
            form_parser_class=mechanize.XHTMLCompatibleFormParser)
        self.br = mechanize.Browser(factory=factory)
        self.quiet = chatter['quiet']
        self.debug = chatter['debug']
        br = self.br
        cj = cookielib.LWPCookieJar()
        br.set_cookiejar(cj)

        br.set_handle_equiv(True)
        #br.set_handle_gzip(True)
        br.set_handle_redirect(True)
        br.set_handle_referer(True)
        br.set_handle_robots(False)
        br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(),
                              max_time=1)

        if self.debug:
            # make a directory for debugging output
            self.debugdir = tempfile.mkdtemp(prefix='aib2ofx_')
            print 'WARNING: putting *sensitive* debug data in %s' % self.debugdir
            self.logger = logging.getLogger("mechanize")
            fh = logging.FileHandler(self.debugdir + '/mechanize.log', 'w')
            fm = CleansingFormatter('%(asctime)s\n%(message)s')
            fh.setFormatter(fm)
            self.logger.addHandler(fh)
            self.logger.setLevel(logging.DEBUG)

            br.set_debug_redirects(True)
            br.set_debug_responses(True)
        else:
            logging.disable(logging.DEBUG)
            self.logger = logging.getLogger(None)

        br.addheaders = [(
            'User-agent',
            'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1'
        )]
        self.login_done = False
        self.data = {}
コード例 #3
0
ファイル: tests.py プロジェクト: jazkarta/zc.authorizedotnet
def makeMechBrowser():
    """Create a mechanize browser

    This tries to paper over two different mechanize APIs, the newest is
    listed first.
    """
    if hasattr(mechanize, 'DefaultFactory'):

        class MyFactory(mechanize.DefaultFactory):
            def __init__(self):
                mechanize.DefaultFactory.__init__(self)
                self._forms_factory = mechanize.FormsFactory(
                    form_parser_class=TolerantFormParser)

        mech_browser = mechanize.Browser(factory=MyFactory())
    else:
        mech_browser = mechanize.Browser(forms_factory=mechanize.FormsFactory(
            form_parser_class=TolerantFormParser))

    return mech_browser
コード例 #4
0
ファイル: tests.py プロジェクト: jazkarta/zc.authorizedotnet
 def __init__(self):
     mechanize.DefaultFactory.__init__(self)
     self._forms_factory = mechanize.FormsFactory(
         form_parser_class=TolerantFormParser)
コード例 #5
0
ファイル: test_html.py プロジェクト: sfall/mechanize3
 def test_form_parser_fails_on_bad_html(self):
     self.assertRaises(mechanize.ParseError, self._make_forms_from_bad_html,
                       mechanize.FormsFactory())
コード例 #6
0
ファイル: test_html.py プロジェクト: sfall/mechanize3
 def test_form_parser_does_not_use_beautifulsoup(self):
     factory = mechanize.FormsFactory()
     self.assertIs(factory.form_parser_class, mechanize._form.FormParser)