当前位置: 首页>>代码示例>>Python>>正文


Python compat.urljoin函数代码示例

本文整理汇总了Python中weboob.tools.compat.urljoin函数的典型用法代码示例。如果您正苦于以下问题:Python urljoin函数的具体用法?Python urljoin怎么用?Python urljoin使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了urljoin函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: post

    def post(self, contents, max_age):
        form = self.get_form(xpath='//form[@class="well"]')

        password, d = encrypt(b64encode(contents.encode('utf-8')))
        form['content'] = json.dumps(d)
        form['expiration'] = self.AGES[max_age]
        j = form.submit().json()

        assert j['status'] == 'ok'
        return urljoin(urljoin(self.url, form.url), '%s#%s' % (j['paste'], password))
开发者ID:P4ncake,项目名称:weboob,代码行数:10,代码来源:pages.py

示例2: get_accounts_list

    def get_accounts_list(self):
        for table in self.doc.xpath('//div[@class="comptestabl"]/table'):
            try:
                account_type = self.ACCOUNT_TYPES[table.get('summary').lower()]
                if not account_type:
                    account_type = self.ACCOUNT_TYPES[table.xpath('./caption/text()')[0].strip().lower()]
            except (IndexError,KeyError):
                account_type = Account.TYPE_UNKNOWN
            for tr in table.xpath('./tbody/tr'):
                cols = tr.findall('td')

                link = cols[0].find('a')
                if link is None:
                    continue

                a = Account()
                a.type = account_type
                a.id = unicode(re.search('([A-Z\d]{4}[A-Z\d\*]{3}[A-Z\d]{4})', link.attrib['title']).group(1))
                a.label = unicode(link.attrib['title'].replace('%s ' % a.id, ''))
                tmp_balance = CleanText(None).filter(cols[1])
                a.currency = a.get_currency(tmp_balance)
                if not a.currency:
                    a.currency = u'EUR'
                a.balance = Decimal(Transaction.clean_amount(tmp_balance))
                a._has_cards = False
                a.url = urljoin(self.url, link.attrib['href'])
                yield a
开发者ID:P4ncake,项目名称:weboob,代码行数:27,代码来源:pro.py

示例3: iter_advisor

    def iter_advisor(self):
        if not self.advisor.is_here():
            self.location(self.advisor_url.format(self.sag))

        # it looks like we have an advisor only on cmds
        if "ca-cmds" in self.first_domain:
            perimetre, agence = self.page.get_codeperimetre().split('-')
            publickey = self.location(urljoin('https://' + self.first_domain, '/Vitrine/jsp/CMDS/b.js')).page.get_publickey()
            self.location(urljoin('https://' + self.first_domain.replace("www.ca", "www.credit-agricole"),
                                  "vitrine/tracking/t/%s-%s.html" % (hashlib.sha1(perimetre + publickey).hexdigest(),
                                                                     agence)))
            yield self.page.get_advisor()
        # for other we take numbers
        else:
            for adv in self.page.iter_numbers():
                yield adv
开发者ID:laurentb,项目名称:weboob,代码行数:16,代码来源:browser.py

示例4: absurl

 def absurl(self, uri, base=None):
     # FIXME this is copy-pasta from DomainBrowser
     if not base:
         base = self.url
     if base is None or base is True:
         base = self.BASEURL
     return urljoin(base, uri)
开发者ID:laurentb,项目名称:weboob,代码行数:7,代码来源:selenium.py

示例5: obj_photos

 def obj_photos(self):
     photos = []
     for img in XPath('//div[has-class("carousel-content")]//img/@src')(self):
         url = u'%s' % img.replace('75x75', '800x600')
         url = urljoin(self.page.url, url)  # Ensure URL is absolute
         photos.append(HousingPhoto(url))
     return photos
开发者ID:P4ncake,项目名称:weboob,代码行数:7,代码来源:pages.py

示例6: url2page

 def url2page(self, page):
     baseurl = self.PROTOCOL + '://' + self.DOMAIN + self.BASEPATH
     m = re.match('^' + urljoin(baseurl, 'wiki/(.+)$'), page)
     if m:
         return m.group(1)
     else:
         return page
开发者ID:laurentb,项目名称:weboob,代码行数:7,代码来源:browser.py

示例7: obj_url

 def obj_url(self):
     try:
         return urljoin(
             self.page.browser.BASEURL,
             Link('./td[8]/a[1]')(self)
         )
     except XPathNotFound:
         return NotAvailable
开发者ID:laurentb,项目名称:weboob,代码行数:8,代码来源:pages.py

示例8: obj_url

 def obj_url(self):
     url = Link(u'./a', default=NotAvailable)(self)
     if not url:
         url = Regexp(Attr(u'.//span', 'onclick', default=''), r'\'(https.*)\'', default=NotAvailable)(self)
     if url:
         if 'CreditRenouvelable' in url:
             url = Link(u'.//a[contains(text(), "espace de gestion crédit renouvelable")]')(self.el)
         return urljoin(self.page.url, url)
     return url
开发者ID:laurentb,项目名称:weboob,代码行数:9,代码来源:accountlist.py

示例9: next_page

        def next_page(self):
            pager = self.page.doc.xpath('//div[@class="pager"]')
            if pager:  # more than one page if only enough transactions
                assert len(pager) == 1

                next_links = pager[0].xpath('./span/following-sibling::a[@class="page"]')
                if next_links:
                    url_next_page = Link('.')(next_links[0])
                    url_next_page = urljoin(self.page.url, url_next_page)
                    return self.page.browser.build_request(url_next_page)
开发者ID:laurentb,项目名称:weboob,代码行数:10,代码来源:pages.py

示例10: download_document_pdf

    def download_document_pdf(self, document):
        if not isinstance(document, Document):
            document = self.get_document(document)
        if document.url is NotAvailable:
            return
        if document.format == 'pdf':
            return self.browser.open(document.url).content

        url = urljoin(self.browser.BASEURL, document.url)
        return html_to_pdf(self.browser, url=url)
开发者ID:laurentb,项目名称:weboob,代码行数:10,代码来源:module.py

示例11: iter_accounts

 def iter_accounts(self):
     self.accounts.stay_or_go()
     # sometimes when the user has messages, accounts's page will redirect
     # to the message page and the user will have to click "ok" to access his accounts
     # this will happen as long as the messages aren't deleted.
     # In this case, accounts may be reached through a different link (in the "ok" button)
     acc_link = self.page.get_acc_link()
     if acc_link:
         self.location(urljoin(self.BASEURL, acc_link))
     return self.page.iter_accounts()
开发者ID:laurentb,项目名称:weboob,代码行数:10,代码来源:browser.py

示例12: iter_documents

 def iter_documents(self, subid):
     for d in self.doc['data']['items']:
         doc = Document()
         doc.id = '%s_%s' % (subid, d['id'])
         doc._docid = d['id']
         doc.label = d['import']['name']
         doc.date = parse_date(d['import']['endDate'])
         doc.url = urljoin(self.url, '/pagga/download/%s' % doc._docid)
         doc.type = DocumentTypes.BILL
         doc.format = 'pdf'
         yield doc
开发者ID:laurentb,项目名称:weboob,代码行数:11,代码来源:pages.py

示例13: post

 def post(self, paste, max_age=0):
     bin = b64decode(paste.contents)
     name = paste.title or 'file' # filename is mandatory
     filefield = {'file': (name, BytesIO(bin))}
     params = {'format': 'json'}
     if max_age:
         params['delete-day'] = int(math.ceil(max_age / 86400.))
     self.location('/', data=params, files=filefield)
     assert self.upload_page.is_here()
     info = self.page.fetch_info()
     paste.id = urljoin(self.base_url, info['short'])
开发者ID:P4ncake,项目名称:weboob,代码行数:11,代码来源:browser.py

示例14: handle_refresh

    def handle_refresh(self):
        if self.REFRESH_MAX is None:
            return

        for refresh in self.doc.xpath('//head/meta[lower-case(@http-equiv)="refresh"]'):
            m = self.browser.REFRESH_RE.match(refresh.get('content', ''))
            if not m:
                continue
            url = urljoin(self.url, m.groupdict().get('url', None))
            sleep = float(m.groupdict()['sleep'])

            if sleep <= self.REFRESH_MAX:
                self.logger.info('Redirecting to %s', url)
                self.browser.location(url)
                break
            else:
                self.logger.debug('Do not refresh to %s because %s > REFRESH_MAX(%s)' % (url, sleep, self.REFRESH_MAX))
开发者ID:laurentb,项目名称:weboob,代码行数:17,代码来源:pages.py

示例15: iter_documents

 def iter_documents(self, sub):
     elts = self.doc.xpath('//li[@class="rowdate"]')
     for elt in elts:
         try:
             elt.xpath('.//a[contains(@id,"lienPDFReleve")]')[0]
         except IndexError:
            continue
         date_str = elt.xpath('.//span[contains(@id,"moisEnCours")]')[0].text
         month_str = date_str.split()[0]
         date = datetime.strptime(re.sub(month_str, str(FRENCH_MONTHS.index(month_str) + 1), date_str), "%m %Y").date()
         bil = Bill()
         bil.id = sub._id + "." + date.strftime("%Y%m")
         bil.date = date
         bil.format = u'pdf'
         bil.type = u'bill'
         bil.label = u'' + date.strftime("%Y%m%d")
         bil.url = urljoin(self.url, '/PortailAS/PDFServletReleveMensuel.dopdf?PDF.moisRecherche=%s' % date.strftime("%m%Y"))
         yield bil
开发者ID:P4ncake,项目名称:weboob,代码行数:18,代码来源:pages.py


注:本文中的weboob.tools.compat.urljoin函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。