• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python urls.url_join函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: ccavenue_form_generate_values

 def ccavenue_form_generate_values(self, values):
     self.ensure_one()
     base_url = self.env['ir.config_parameter'].get_param('web.base.url')
     ccavenue_values = dict(access_code=self.ccavenue_access_code,
                            merchant_id=self.ccavenue_merchant_id,
                            order_id=values.get('reference'),
                            currency=values.get('currency').name,
                            amount=values.get('amount'),
                            redirect_url=urls.url_join(base_url, CCAvenueController._return_url),
                            cancel_url=urls.url_join(base_url, CCAvenueController._cancel_url),
                            language='EN',
                            customer_identifier=values.get('partner_email'),
                            delivery_name=values.get('partner_name'),
                            delivery_address=values.get('partner_address'),
                            delivery_city=values.get('partner_city'),
                            delivery_state=values.get('partner_state').name,
                            delivery_zip=values.get('partner_zip'),
                            delivery_country=values.get('partner_country').name,
                            delivery_tel=values.get('partner_phone'),
                            billing_name=values.get('billing_partner_name'),
                            billing_address=values.get('billing_partner_address'),
                            billing_city=values.get('billing_partner_city'),
                            billing_state=values.get('billing_partner_state').name,
                            billing_zip=values.get('billing_partner_zip'),
                            billing_country=values.get('billing_partner_country').name,
                            billing_tel=values.get('billing_partner_phone'),
                            billing_email=values.get('billing_partner_email'),
                            )
     ccavenue_values['encRequest'] = self._ccavenue_encrypt_text(urls.url_encode(ccavenue_values))
     return ccavenue_values
开发者ID:merchise-autrement,项目名称:odoo,代码行数:30,代码来源:payment.py


示例2: paypal_form_generate_values

    def paypal_form_generate_values(self, values):
        base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url')

        paypal_tx_values = dict(values)
        paypal_tx_values.update({
            'cmd': '_xclick',
            'business': self.paypal_email_account,
            'item_name': '%s: %s' % (self.company_id.name, values['reference']),
            'item_number': values['reference'],
            'amount': values['amount'],
            'currency_code': values['currency'] and values['currency'].name or '',
            'address1': values.get('partner_address'),
            'city': values.get('partner_city'),
            'country': values.get('partner_country') and values.get('partner_country').code or '',
            'state': values.get('partner_state') and (values.get('partner_state').code or values.get('partner_state').name) or '',
            'email': values.get('partner_email'),
            'zip_code': values.get('partner_zip'),
            'first_name': values.get('partner_first_name'),
            'last_name': values.get('partner_last_name'),
            'paypal_return': urls.url_join(base_url, PaypalController._return_url),
            'notify_url': urls.url_join(base_url, PaypalController._notify_url),
            'cancel_return': urls.url_join(base_url, PaypalController._cancel_url),
            'handling': '%.2f' % paypal_tx_values.pop('fees', 0.0) if self.fees_active else False,
            'custom': json.dumps({'return_url': '%s' % paypal_tx_values.pop('return_url')}) if paypal_tx_values.get('return_url') else False,
        })
        return paypal_tx_values
开发者ID:Bubbles-IT,项目名称:odoo,代码行数:26,代码来源:payment.py


示例3: ogone_form_generate_values

 def ogone_form_generate_values(self, values):
     base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url')
     ogone_tx_values = dict(values)
     temp_ogone_tx_values = {
         'PSPID': self.ogone_pspid,
         'ORDERID': values['reference'],
         'AMOUNT': float_repr(float_round(values['amount'], 2) * 100, 0),
         'CURRENCY': values['currency'] and values['currency'].name or '',
         'LANGUAGE': values.get('partner_lang'),
         'CN': values.get('partner_name'),
         'EMAIL': values.get('partner_email'),
         'OWNERZIP': values.get('partner_zip'),
         'OWNERADDRESS': values.get('partner_address'),
         'OWNERTOWN': values.get('partner_city'),
         'OWNERCTY': values.get('partner_country') and values.get('partner_country').code or '',
         'OWNERTELNO': values.get('partner_phone'),
         'ACCEPTURL': urls.url_join(base_url, OgoneController._accept_url),
         'DECLINEURL': urls.url_join(base_url, OgoneController._decline_url),
         'EXCEPTIONURL': urls.url_join(base_url, OgoneController._exception_url),
         'CANCELURL': urls.url_join(base_url, OgoneController._cancel_url),
         'PARAMPLUS': 'return_url=%s' % ogone_tx_values.pop('return_url') if ogone_tx_values.get('return_url') else False,
     }
     if self.save_token in ['ask', 'always']:
         temp_ogone_tx_values.update({
             'ALIAS': 'ODOO-NEW-ALIAS-%s' % time.time(),    # something unique,
             'ALIASUSAGE': values.get('alias_usage') or self.ogone_alias_usage,
         })
     shasign = self._ogone_generate_shasign('in', temp_ogone_tx_values)
     temp_ogone_tx_values['SHASIGN'] = shasign
     ogone_tx_values.update(temp_ogone_tx_values)
     return ogone_tx_values
开发者ID:altanmur,项目名称:odoo,代码行数:31,代码来源:payment.py


示例4: _get_alipay_tx_values

    def _get_alipay_tx_values(self, values):
        base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url')

        alipay_tx_values = ({
            '_input_charset': 'utf-8',
            'notify_url': urls.url_join(base_url, AlipayController._notify_url),
            'out_trade_no': values.get('reference'),
            'partner': self.alipay_merchant_partner_id,
            'return_url': urls.url_join(base_url, AlipayController._return_url),
            'subject': values.get('reference'),
            'total_fee': values.get('amount') + values.get('fees'),
        })
        if self.alipay_payment_method == 'standard_checkout':
            alipay_tx_values.update({
                'service': 'create_forex_trade',
                'product_code': 'NEW_OVERSEAS_SELLER',
                'currency': values.get('currency').name,
            })
        else:
            alipay_tx_values.update({
                'service': 'create_direct_pay_by_user',
                'payment_type': 1,
                'seller_email': self.alipay_seller_email,
            })
        sign = self._build_sign(alipay_tx_values)
        alipay_tx_values.update({
            'sign_type': 'MD5',
            'sign': sign,
        })
        return alipay_tx_values
开发者ID:Vauxoo,项目名称:odoo,代码行数:30,代码来源:payment.py


示例5: test_10_Authorize_form_render

    def test_10_Authorize_form_render(self):
        self.assertEqual(self.authorize.environment, 'test', 'test without test environment')

        # ----------------------------------------
        # Test: button direct rendering
        # ----------------------------------------
        base_url = self.env['ir.config_parameter'].get_param('web.base.url')
        form_values = {
            'x_login': self.authorize.authorize_login,
            'x_trans_key': self.authorize.authorize_transaction_key,
            'x_amount': '320.0',
            'x_show_form': 'PAYMENT_FORM',
            'x_type': 'AUTH_CAPTURE',
            'x_method': 'CC',
            'x_fp_sequence': '%s%s' % (self.authorize.id, int(time.time())),
            'x_version': '3.1',
            'x_relay_response': 'TRUE',
            'x_fp_timestamp': str(int(time.time())),
            'x_relay_url': urls.url_join(base_url, AuthorizeController._return_url),
            'x_cancel_url': urls.url_join(base_url, AuthorizeController._cancel_url),
            'return_url': None,
            'x_currency_code': 'USD',
            'x_invoice_num': 'SO004',
            'x_first_name': 'Norbert',
            'x_last_name': 'Buyer',
            'x_address': 'Huge Street 2/543',
            'x_city': 'Sin City',
            'x_zip': '1000',
            'x_country': 'Belgium',
            'x_phone': '0032 12 34 56 78',
            'x_email': '[email protected]',
            'x_state': None,
            'x_ship_to_first_name': 'Norbert',
            'x_ship_to_last_name': 'Buyer',
            'x_ship_to_address': 'Huge Street 2/543',
            'x_ship_to_city': 'Sin City',
            'x_ship_to_zip': '1000',
            'x_ship_to_country': 'Belgium',
            'x_ship_to_phone': '0032 12 34 56 78',
            'x_ship_to_email': '[email protected]',
            'x_ship_to_state': None,
        }

        form_values['x_fp_hash'] = self._authorize_generate_hashing(form_values)
        # render the button
        res = self.authorize.render('SO004', 320.0, self.currency_usd.id, values=self.buyer_values)
        # check form result
        tree = objectify.fromstring(res)
        self.assertEqual(tree.get('action'), 'https://test.authorize.net/gateway/transact.dll', 'Authorize: wrong form POST url')
        for el in tree.iterfind('input'):
            values = list(pycompat.values(el.attrib))
            if values[1] in ['submit', 'x_fp_hash', 'return_url', 'x_state', 'x_ship_to_state']:
                continue
            self.assertEqual(
                unicode(values[2], "utf-8"),
                form_values[values[1]],
                'Authorize: wrong value for input %s: received %s instead of %s' % (values[1], values[2], form_values[values[1]])
            )
开发者ID:kitcharoenp,项目名称:odoo,代码行数:58,代码来源:test_authorize.py


示例6: _compute_survey_url

 def _compute_survey_url(self):
     """ Computes a public URL for the survey """
     base_url = '/' if self.env.context.get('relative_url') else \
                self.env['ir.config_parameter'].sudo().get_param('web.base.url')
     for survey in self:
         survey.public_url = urls.url_join(base_url, "survey/start/%s" % (slug(survey)))
         survey.print_url = urls.url_join(base_url, "survey/print/%s" % (slug(survey)))
         survey.result_url = urls.url_join(base_url, "survey/results/%s" % (slug(survey)))
         survey.public_url_html = '<a href="%s">%s</a>' % (survey.public_url, _("Click here to start survey"))
开发者ID:akretion,项目名称:odoo,代码行数:9,代码来源:survey_survey.py


示例7: test_url_joining

def test_url_joining():
    strict_eq(urls.url_join('/foo', '/bar'), '/bar')
    strict_eq(urls.url_join('http://example.com/foo', '/bar'),
                             'http://example.com/bar')
    strict_eq(urls.url_join('file:///tmp/', 'test.html'),
                             'file:///tmp/test.html')
    strict_eq(urls.url_join('file:///tmp/x', 'test.html'),
                             'file:///tmp/test.html')
    strict_eq(urls.url_join('file:///tmp/x', '../../../x.html'),
                             'file:///x.html')
开发者ID:char101,项目名称:werkzeug,代码行数:10,代码来源:test_urls.py


示例8: test_url_joining

 def test_url_joining(self):
     self.assert_strict_equal(urls.url_join('/foo', '/bar'), '/bar')
     self.assert_strict_equal(urls.url_join('http://example.com/foo', '/bar'),
                              'http://example.com/bar')
     self.assert_strict_equal(urls.url_join('file:///tmp/', 'test.html'),
                              'file:///tmp/test.html')
     self.assert_strict_equal(urls.url_join('file:///tmp/x', 'test.html'),
                              'file:///tmp/test.html')
     self.assert_strict_equal(urls.url_join('file:///tmp/x', '../../../x.html'),
                              'file:///x.html')
开发者ID:ArslanRafique,项目名称:werkzeug,代码行数:10,代码来源:urls.py


示例9: init_restful

    def init_restful(self, api, prefix='/api/multimedia/image/'):
        """Set up the urls.

        :param str prefix: the url perfix

        .. note::

            In IIIF Image API the Image Request URI Syntax must following

                ``{scheme}://{server}{/prefix}/{identifier}/
                    {region}/{size}/{rotation}/{quality}.{format}``

            pattern, the default prefix is ``/api/multimedia/image`` but
            this can be changes by changing the ``prefix`` paremeter. The
            ``prefix`` MUST always start and end with `/`

        .. seealso::
            `IIIF IMAGE API URI Syntax
            <http://iiif.io/api/image/2.0/#uri-syntax>`
        """
        from .restful import IIIFImageAPI, IIIFImageInfo, IIIFImageBase

        if not prefix.startswith('/') or not prefix.endswith('/'):
            raise RuntimeError(
                "The `prefix` must always start and end with `/`"
            )

        api.add_resource(
            IIIFImageAPI,
            url_join(
                prefix,
                (
                    "<string:version>/<string:uuid>/"
                    "<string:region>/<string:size>/<string:rotation>/"
                    "<string:quality>.<string:image_format>"
                )
            )
        )

        api.add_resource(
            IIIFImageInfo,
            url_join(
                prefix,
                "<string:version>/<string:uuid>/info.json"
            )
        )
        api.add_resource(
            IIIFImageBase,
            url_join(
                prefix,
                "<string:version>/<string:uuid>"
            )
        )
开发者ID:inveniosoftware,项目名称:flask-iiif,代码行数:53,代码来源:__init__.py


示例10: authorize_form_generate_values

    def authorize_form_generate_values(self, values):
        self.ensure_one()
        # State code is only supported in US, use state name by default
        # See https://developer.authorize.net/api/reference/
        state = values['partner_state'].name if values.get('partner_state') else ''
        if values.get('partner_country') and values.get('partner_country') == self.env.ref('base.us', False):
            state = values['partner_state'].code if values.get('partner_state') else ''
        billing_state = values['billing_partner_state'].name if values.get('billing_partner_state') else ''
        if values.get('billing_partner_country') and values.get('billing_partner_country') == self.env.ref('base.us', False):
            billing_state = values['billing_partner_state'].code if values.get('billing_partner_state') else ''

        base_url = self.env['ir.config_parameter'].get_param('web.base.url')
        authorize_tx_values = dict(values)
        temp_authorize_tx_values = {
            'x_login': self.authorize_login,
            'x_trans_key': self.authorize_transaction_key,
            'x_amount': float_repr(values['amount'], values['currency'].decimal_places if values['currency'] else 2),
            'x_show_form': 'PAYMENT_FORM',
            'x_type': 'AUTH_CAPTURE' if not self.capture_manually else 'AUTH_ONLY',
            'x_method': 'CC',
            'x_fp_sequence': '%s%s' % (self.id, int(time.time())),
            'x_version': '3.1',
            'x_relay_response': 'TRUE',
            'x_fp_timestamp': str(int(time.time())),
            'x_relay_url': urls.url_join(base_url, AuthorizeController._return_url),
            'x_cancel_url': urls.url_join(base_url, AuthorizeController._cancel_url),
            'x_currency_code': values['currency'] and values['currency'].name or '',
            'address': values.get('partner_address'),
            'city': values.get('partner_city'),
            'country': values.get('partner_country') and values.get('partner_country').name or '',
            'email': values.get('partner_email'),
            'zip_code': values.get('partner_zip'),
            'first_name': values.get('partner_first_name'),
            'last_name': values.get('partner_last_name'),
            'phone': values.get('partner_phone'),
            'state': state,
            'billing_address': values.get('billing_partner_address'),
            'billing_city': values.get('billing_partner_city'),
            'billing_country': values.get('billing_partner_country') and values.get('billing_partner_country').name or '',
            'billing_email': values.get('billing_partner_email'),
            'billing_zip_code': values.get('billing_partner_zip'),
            'billing_first_name': values.get('billing_partner_first_name'),
            'billing_last_name': values.get('billing_partner_last_name'),
            'billing_phone': values.get('billing_partner_phone'),
            'billing_state': billing_state,
        }
        temp_authorize_tx_values['returndata'] = authorize_tx_values.pop('return_url', '')
        temp_authorize_tx_values['x_fp_hash'] = self._authorize_generate_hashing(temp_authorize_tx_values)
        temp_authorize_tx_values.pop('x_trans_key') # We remove this value since it is secret and isn't needed on the form
        authorize_tx_values.update(temp_authorize_tx_values)
        return authorize_tx_values
开发者ID:Bubbles-IT,项目名称:odoo,代码行数:51,代码来源:payment.py


示例11: test_10_paypal_form_render

    def test_10_paypal_form_render(self):
        base_url = self.env['ir.config_parameter'].get_param('web.base.url')
        # be sure not to do stupid things
        self.paypal.write({'paypal_email_account': '[email protected]', 'fees_active': False})
        self.assertEqual(self.paypal.environment, 'test', 'test without test environment')

        # ----------------------------------------
        # Test: button direct rendering
        # ----------------------------------------

        # render the button
        res = self.paypal.render(
            'test_ref0', 0.01, self.currency_euro.id,
            values=self.buyer_values)

        form_values = {
            'cmd': '_xclick',
            'business': '[email protected]',
            'item_name': '%s: test_ref0' % (self.paypal.company_id.name),
            'item_number': 'test_ref0',
            'first_name': 'Norbert',
            'last_name': 'Buyer',
            'amount': '0.01',
            'currency_code': 'EUR',
            'address1': 'Huge Street 2/543',
            'city': 'Sin City',
            'zip': '1000',
            'country': 'BE',
            'email': '[email protected]',
            'return': urls.url_join(base_url, PaypalController._return_url),
            'notify_url': urls.url_join(base_url, PaypalController._notify_url),
            'cancel_return': urls.url_join(base_url, PaypalController._cancel_url),
            'custom': '{"return_url": "/payment/process"}',
        }

        # check form result
        tree = objectify.fromstring(res)

        data_set = tree.xpath("//input[@name='data_set']")
        self.assertEqual(len(data_set), 1, 'paypal: Found %d "data_set" input instead of 1' % len(data_set))
        self.assertEqual(data_set[0].get('data-action-url'), 'https://www.sandbox.paypal.com/cgi-bin/webscr', 'paypal: wrong form POST url')
        for form_input in tree.input:
            if form_input.get('name') in ['submit', 'data_set']:
                continue
            self.assertEqual(
                form_input.get('value'),
                form_values[form_input.get('name')],
                'paypal: wrong value for input %s: received %s instead of %s' % (form_input.get('name'), form_input.get('value'), form_values[form_input.get('name')])
            )
开发者ID:Vauxoo,项目名称:odoo,代码行数:49,代码来源:test_paypal.py


示例12: test_10_alipay_form_render

    def test_10_alipay_form_render(self):
        base_url = self.env['ir.config_parameter'].get_param('web.base.url')
        self.assertEqual(self.alipay.environment, 'test', 'test without test environment')

        # ----------------------------------------
        # Test: button direct rendering
        # ----------------------------------------

        # render the button
        res = self.alipay.render(
            'test_ref0', 0.01, self.currency_euro.id,
            values=self.buyer_values)

        form_values = {
            '_input_charset': 'utf-8',
            'notify_url': urls.url_join(base_url, AlipayController._notify_url),
            'out_trade_no': 'SO12345-1',
            'partner': self.alipay.alipay_merchant_partner_id,
            'return_url': urls.url_join(base_url, AlipayController._return_url) + '?' + urls.url_encode({'redirect_url': '/payment/process'}),
            'subject': 'test_ref0',
            'total_fee': '0.01',
        }

        if self.alipay.alipay_payment_method == 'standard_checkout':
            form_values.update({
                'service': 'create_forex_trade',
                'currency': 'EUR',
                'product_code': 'NEW_OVERSEAS_SELLER',
            })
        else:
            form_values.update({
                'payment_type': '1',
                'seller_email': self.alipay.alipay_seller_email,
                'service': 'create_direct_pay_by_user'
            })
        sign = self.alipay._build_sign(form_values)

        form_values.update({'sign': sign, 'sign_type': 'MD5'})
        # check form result
        tree = objectify.fromstring(res)

        data_set = tree.xpath("//input[@name='data_set']")
        self.assertEqual(len(data_set), 1, 'Alipay: Found %d "data_set" input instead of 1' % len(data_set))
        self.assertEqual(data_set[0].get('data-action-url'), 'https://openapi.alipaydev.com/gateway.do', 'alipay: wrong form POST url')
        for form_input in tree.input:
            if form_input.get('name') in ['submit', 'data_set', 'sign', 'out_trade_no']:
                continue
            self.assertEqual(form_input.get('value'), form_values[form_input.get('name')], 'alipay: wrong value for input %s: received %s instead of %s' % (form_input.get('name'), form_input.get('value'), form_values[form_input.get('name')]))
开发者ID:Vauxoo,项目名称:odoo,代码行数:48,代码来源:test_alipay.py


示例13: test_08_survey_urls

    def test_08_survey_urls(self):
        def validate_url(url):
            """ Reference: https://github.com/django/django/blob/master/django/core/validators.py """
            url_regex = re.compile(
                r'^https?://'  # http:// or https://
                r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|'  # domain...
                r'localhost|'  # localhost...
                r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|'  # ...or ipv4
                r'\[?[A-F0-9]*:[A-F0-9:]+\]?)'  # ...or ipv6
                r'(?::\d+)?'  # optional port
                r'(?:/?|[/?]\S+)$', re.IGNORECASE)
            return True if url_regex.match(url) else False

        base_url = self.env['ir.config_parameter'].get_param('web.base.url')
        urltypes = {'public': 'start', 'print': 'print', 'result': 'results'}
        for urltype, urltxt in pycompat.items(urltypes):
            survey_url = getattr(self.survey1, urltype + '_url')
            survey_url_relative = getattr(self.survey1.with_context({'relative_url': True}), urltype + '_url')
            self.assertTrue(validate_url(survey_url))
            url = "survey/%s/%s" % (urltxt, slug(self.survey1))
            full_url = urls.url_join(base_url, url)
            self.assertEqual(full_url, survey_url)
            self.assertEqual('/' + url, survey_url_relative)
            if urltype == 'public':
                url_html = '<a href="%s">Click here to start survey</a>'
                self.assertEqual(url_html % full_url, getattr(self.survey1, urltype + '_url_html'), msg="Public URL is incorrect")
                self.assertEqual(url_html % ('/' + url), getattr(self.survey1.with_context({'relative_url': True}), urltype + '_url_html'), msg="Public URL is incorrect.")
开发者ID:williams-lu,项目名称:odoo,代码行数:27,代码来源:test_survey.py


示例14: url_for

def url_for(endpoint, **values):
    if endpoint == 'admin.static':
        filename = values.pop('filename')
        query = url_encode(values)
        url_prefix = current_app.config['ADMIN_STATIC_URL']
        return '{}?{}'.format(url_join(url_prefix, filename), query)
    return flask_url_for(endpoint, **values)
开发者ID:wesley1001,项目名称:zerqu,代码行数:7,代码来源:admin.py


示例15: make_absolute_url

 def make_absolute_url(self, url):
     """Given a URL this makes it absolute if this is possible."""
     base_url = self.db.config['SITE'].get('url')
     if base_url is None:
         raise RuntimeError('To use absolute URLs you need to configure '
                            'the URL in the project config.')
     return url_join(base_url.rstrip('/') + '/', url.lstrip('/'))
开发者ID:vinodpanicker,项目名称:lektor,代码行数:7,代码来源:db.py


示例16: url_for

def url_for(path_or_uri, lang=None):
    if isinstance(path_or_uri, unicode):
        path_or_uri = path_or_uri.encode('utf-8')
    current_path = request.httprequest.path
    if isinstance(current_path, unicode):
        current_path = current_path.encode('utf-8')
    location = path_or_uri.strip()
    force_lang = lang is not None
    url = urls.url_parse(location)

    if request and not url.netloc and not url.scheme and (url.path or force_lang):
        location = urls.url_join(current_path, location)

        lang = lang or request.context.get('lang')
        langs = [lg[0] for lg in request.website.get_languages()]

        if (len(langs) > 1 or force_lang) and is_multilang_url(location, langs):
            ps = location.split('/')
            if ps[1] in langs:
                # Replace the language only if we explicitly provide a language to url_for
                if force_lang:
                    ps[1] = lang.encode('utf-8')
                # Remove the default language unless it's explicitly provided
                elif ps[1] == request.website.default_lang_code:
                    ps.pop(1)
            # Insert the context language or the provided language
            elif lang != request.website.default_lang_code or force_lang:
                ps.insert(1, lang.encode('utf-8'))
            location = '/'.join(ps)

    return location.decode('utf-8')
开发者ID:awasum,项目名称:odoo,代码行数:31,代码来源:website.py


示例17: _rebuild

 def _rebuild(self):
     # url_for already creates an absolute url (e.g. /indico/whatever) but since it starts
     # with a slash this is not a problem. It overwrites the path part in baseURL but it's
     # the same one. maybe we could even get rid of the baseURL stuff at some point... It's
     # only really important when we change from SSL to non-SSL or vice versa anyway
     anchor = self.fragment or None
     self._url = url_join(self._base_url, _url_for(self._endpoint, _anchor=anchor, **self._get_fixed_params()))
开发者ID:OmeGak,项目名称:indico,代码行数:7,代码来源:url.py


示例18: _compute_website_url

 def _compute_website_url(self, website_path, xml_id):
     base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url')
     link = website_path or xml_id or (self.id and '%d' % self.id) or ''
     if base_url and link:
         path = '%s/%s' % ('/website/action', link)
         return urls.url_join(base_url, path)
     return ''
开发者ID:Gorrice,项目名称:odoo,代码行数:7,代码来源:ir_actions.py


示例19: _send_confirmation_email

    def _send_confirmation_email(self, partner_ids, unsubscribe=False):
        base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url')
        route = "/groups/%(action)s/%(channel)s/%(partner)s/%(token)s"
        if unsubscribe:
            template = self.env.ref('website_mail_channel.mail_template_list_unsubscribe')
            action = 'unsubscribe'
        else:
            template = self.env.ref('website_mail_channel.mail_template_list_subscribe')
            action = 'subscribe'

        for partner_id in partner_ids:
            # generate a new token per subscriber
            token = self._generate_action_token(partner_id, action=action)

            token_url = urls.url_join(base_url, route % {
                'action': action,
                'channel': self.id,
                'partner': partner_id,
                'token': token,
            })
            template.with_context(token_url=token_url).send_mail(self.id,
                force_send=True,
                email_values={'recipient_ids': [(4, partner_id)]}
            )

        return True
开发者ID:1806933,项目名称:odoo,代码行数:26,代码来源:mail_channel.py


示例20: parse_meta

def parse_meta(content, link=None):
    """Parse og information from HTML content.

    :param content: HTML content to be parsed. unicode required.
    """
    head = content.split(u'</head>', 1)[0]
    pairs = {}

    def parse_pair(kv):
        name = kv.get(u'name')
        if not name:
            name = kv.get(u'property')
        if not name:
            return
        if name in pairs:
            return
        content = kv.get(u'content')
        if not content:
            return
        pairs[name] = content

    for text in META_TAG.findall(head):
        kv = META_ATTR.findall(text)
        if kv:
            parse_pair(dict(kv))

    rv = {}

    def get_og_value(key):
        for name in [u'og:%s' % key, u'twitter:%s' % key]:
            if name in pairs:
                rv[key] = pairs[name]

    for key in [u'title', u'image', u'description', u'url']:
        get_og_value(key)

    if u'twitter:creator' in pairs:
        rv[u'twitter'] = pairs[u'twitter:creator']

    if u'title' not in rv:
        m = TITLE.findall(head)
        if m:
            rv[u'title'] = m[0]

    if u'description' not in rv:
        desc = rv.get(u'description')
        if desc:
            rv[u'description'] = desc

    # format absolute link
    if link and u'image' in rv:
        rv[u'image'] = url_join(link, rv[u'image'])

    rv.update(parse_embed(pairs))

    for key in [u'title', u'description']:
        if rv.get(key):
            rv[key] = unescape(rv[key])
    return rv
开发者ID:343829084,项目名称:zerqu,代码行数:59,代码来源:webparser.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python urls.url_parse函数代码示例发布时间:2022-05-26
下一篇:
Python urls.url_fix函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap