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

Python werkzeug.url_encode函数代码示例

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

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



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

示例1: _prep_input

 def _prep_input(self, method, data, content_type):
     """Return encoded and packed POST data."""
     if data is None or method != 'POST':
         prepped = {
             'input_stream': None,
             'content_length': None,
             'content_type': None,
             }
         if method == 'GET' and data:
             qs = MultiDict()
             for key, value in to_pairs(data):
                 qs.setlistdefault(key).append(value)
             prepped['query_string'] = url_encode(qs)
         return prepped
     else:
         if content_type == 'multipart/form-data':
             data = [(k, _wrap_file(*v)) if isinstance(v, tuple) else (k,v)
                     for k,v in data]
             boundary, payload = encode_multipart(MultiDict(to_pairs(data)))
             content_type = 'multipart/form-data; boundary=' + boundary
         else:
             payload = url_encode(MultiDict(to_pairs(data)))
             content_type = 'application/x-www-form-urlencoded'
         return {
             'input_stream': StringIO(payload),
             'content_length': len(payload),
             'content_type': content_type
             }
开发者ID:jek,项目名称:alfajor,代码行数:28,代码来源:wsgi.py


示例2: create

 def create(self, vals):
     data_obj = self.env['ir.model.data']
     sequence_ids = data_obj.search([('name','=','seq_is_demande_achat')])
     if len(sequence_ids)>0:
         sequence_id = sequence_ids[0].res_id
         vals['name'] = self.env['ir.sequence'].get_id(sequence_id, 'id')
     res = super(is_demande_achat, self).create(vals)
     model, action_id = data_obj.get_object_reference('is_plastigray', 'is_demande_achat_action')
     print ":action_id::",action_id
     base_url = self.env['ir.config_parameter'].get_param('web.base.url')
     #menu_id = self.env['ir.ui.menu'].search([('name','=', "Demandes d'achat")])
     menu_id = data_obj.get_object_reference('is_plastigray', 'is_mes_demande_achat_menu')
     route = 'login'
     query = dict(db=self._cr.dbname)
     model, action_id = data_obj.get_object_reference('is_plastigray', 'is_demande_achat_action')
     fragment = dict()
     fragment['action'] = action_id
     fragment['view_type'] = 'form'
     fragment['menu_id'] = menu_id[0]
     fragment['model'] = model
     fragment['id'] = res.id
     if fragment:
         query['redirect'] = '/web#' + werkzeug.url_encode(fragment)
     record_url = urljoin(base_url, "/web/%s?%s" % (route, werkzeug.url_encode(query)))
     res.record_url = record_url
     return res
开发者ID:tonygalmiche,项目名称:is_plastigray,代码行数:26,代码来源:is_demande_achat.py


示例3: __call__

 def __call__(self, path=None, **kw):
     if not path:
         path = self.path
     for k, v in self.args.items():
         kw.setdefault(k, v)
     l = []
     for k, v in kw.items():
         if v:
             if isinstance(v, list) or isinstance(v, set):
                 l.append(werkzeug.url_encode([(k, i) for i in v]))
             else:
                 l.append(werkzeug.url_encode([(k, v)]))
     if l:
         path += '?' + '&'.join(l)
     return path
开发者ID:AtomLaw,项目名称:odoo,代码行数:15,代码来源:main.py


示例4: auth

    def auth(self, **kw):
        # kw:
        #
        # state: {"p": 1, "r": "%2Fweb%2Flogin%3F", "d": "some-test-3"}
        # redirect_uri: https://example.odoo.com/auth_oauth/signin
        # response_type: token
        # client_id: d885dde2-0168-4650-9a32-ceb058e652a2
        # debug: False
        # scope: userinfo
        uri, http_method, body, headers = self._extract_params(request, kw)

        client_redirect = kw.get('redirect')

        user = request.registry['res.users'].browse(request.cr, SUPERUSER_ID, request.uid)

        try:
            scopes, credentials = self._server.validate_authorization_request(
                uri, http_method, body, headers)

        # Errors that should be shown to the user on the provider website
        except errors.FatalClientError as e:
            return self._response_from_error(e)

        # Errors embedded in the redirect URI back to the client
        except errors.OAuth2Error as e:
            return self._response({'Location':e.redirect_uri}, None, 302)


        if  user.login == 'public':

            params = {'mode':'login',
                      'scope':kw.get('scope'),
                      #'debug':1,
                      #'login':?,
                      #'redirect_hostname':TODO,
                      'redirect': '/oauth2/auth?%s' % werkzeug.url_encode(kw)
            }
            return self._response({'Location':'/web/login?%s' % werkzeug.url_encode(params)}, None, 302)
        else:
            credentials.update({'user':user})
        
            try:
                headers, body, status = self._server.create_authorization_response(
                uri, http_method, body, headers, scopes, credentials)
                return self._response(headers, body, status)
        
            except errors.FatalClientError as e:
                return self._response_from_error(e)
开发者ID:juano2h,项目名称:odoo-saas-tools,代码行数:48,代码来源:main.py


示例5: inline_object_repl

    def inline_object_repl(self, stack, object, object_url=None, object_item=None,
                           object_text=None, object_args=None):
        """Handles objects included in the page."""
        if object_args:
            args = parse_arguments(object_args).keyword  # XXX needs different parsing
        else:
            args = {}
        if object_item is not None:
            query = url_encode(args, charset=CHARSET, encode_keys=True)
            att = 'attachment:'  # moin 1.9 needed this for an attached file
            if object_item.startswith(att):
                object_item = '/' + object_item[len(att):]  # now we have a subitem
            target = Iri(scheme='wiki.local', path=object_item, query=query, fragment=None)
            text = object_item

            attrib = {xinclude.href: target}
            element = xinclude.include(attrib=attrib)
            stack.top_append(element)
        else:
            target = Iri(object_url)
            text = object_url

            attrib = {xlink.href: target}
            if object_text is not None:
                attrib[moin_page.alt] = object_text

            element = moin_page.object(attrib)
            stack.push(element)
            if object_text:
                self.parse_inline(object_text, stack, self.inlinedesc_re)
            else:
                stack.top_append(text)
            stack.pop()
开发者ID:rciorba,项目名称:moin-2.0-mirror,代码行数:33,代码来源:moinwiki_in.py


示例6: __call__

    def __call__(self, command, *args, **kw):
        transform = _transformers[kw.pop('transform', 'unicode')]
        return_list = kw.pop('list', False)
        assert not kw, 'Unknown keyword argument.'

        payload = {'cmd': command, 'sessionId': self._session_id}
        for idx, arg in enumerate(args):
            payload[str(idx + 1)] = arg

        request = Request(self._server_url, url_encode(payload), {
            'Content-Type':
            'application/x-www-form-urlencoded; charset=utf-8'})
        logger.debug('selenium(%s, %r)', command, args)
        response = urlopen(request).read()

        if not response.startswith('OK'):
            raise RuntimeError(response.encode('utf-8'))
        if response == 'OK':
            return

        data = response[3:]
        if return_list:
            rows = list(csv.reader(StringIO(data)))
            return [transform(col) for col in rows[0]]
        else:
            return transform(data)
开发者ID:jek,项目名称:alfajor,代码行数:26,代码来源:selenium.py


示例7: validate_recaptcha

def validate_recaptcha(challenge, response, remote_ip):
    """Validates the recaptcha.  If the validation fails a `RecaptchaValidationFailed`
    error is raised.
    """
    request = urllib2.Request(
        VERIFY_SERVER,
        data=url_encode(
            {
                "privatekey": settings.RECAPTCHA_PRIVATE_KEY,
                "remoteip": remote_ip,
                "challenge": challenge,
                "response": response,
            }
        ),
    )
    response = urllib2.urlopen(request)
    rv = response.read().splitlines()
    response.close()
    if rv and rv[0] == "true":
        return True
    if len(rv) > 1:
        error = rv[1]
        if error == "invalid-site-public-key":
            raise RuntimeError("invalid public key for recaptcha set")
        if error == "invalid-site-private-key":
            raise RuntimeError("invalid private key for recaptcha set")
        if error == "invalid-referrer":
            raise RuntimeError("key not valid for the current domain")
    return False
开发者ID:sfermigier,项目名称:solace,代码行数:29,代码来源:recaptcha.py


示例8: mail_action_new

 def mail_action_new(self, model, res_id, **kwargs):
     if model not in request.env:
         return self._redirect_to_messaging()
     params = {"view_type": "form", "model": model}
     if kwargs.get("action_id"):
         params["action"] = kwargs["action_id"]
     return werkzeug.utils.redirect("/web?#%s" % url_encode(params))
开发者ID:lonelyleaves,项目名称:odoo,代码行数:7,代码来源:main.py


示例9: _validate_recaptcha

    def _validate_recaptcha(self, response, remote_addr):
        """Performs the actual validation."""
        try:
            private_key = current_app.config['RECAPTCHA_PRIVATE_KEY']
        except KeyError:
            raise RuntimeError("No RECAPTCHA_PRIVATE_KEY config set")

        data = url_encode({
            'secret':     private_key,
            'remoteip':   remote_addr,
            'response':   response
        })

        http_response = http.urlopen(RECAPTCHA_VERIFY_SERVER, to_bytes(data))

        if http_response.code != 200:
            return False

        json_resp = json.loads(to_unicode(http_response.read()))

        if json_resp["success"]:
            return True

        for error in json_resp.get("error-codes", []):
            if error in RECAPTCHA_ERROR_CODES:
                raise ValidationError(RECAPTCHA_ERROR_CODES[error])

        return False
开发者ID:rnt,项目名称:flask-wtf,代码行数:28,代码来源:validators.py


示例10: handle_oauth2_response

 def handle_oauth2_response(self):
     """Handles an oauth2 authorization response.  The return value of
     this method is forwarded as first argument to the handling view
     function.
     """
     remote_args = {
         'code':             request.args.get('code'),
         'client_id':        self.consumer_key,
         'client_secret':    self.consumer_secret,
         'redirect_uri':     session.get(self.name + '_oauthredir')
     }
     remote_args.update(self.access_token_params)
     if self.access_token_method == 'POST':
         resp, content = self._client.request(self.access_token_url,
                                              self.access_token_method,
                                              url_encode(remote_args))
     elif self.access_token_method == 'GET':
         url = add_query(self.expand_url(self.access_token_url), remote_args)
         resp, content = self._client.request(url, self.access_token_method)
     else:
         raise OAuthException('Unsupported access_token_method: ' +
                              self.access_token_method)
     data = parse_response(resp, content)
     if resp['status'] != '200':
         raise OAuthException('Invalid response from ' + self.name, data)
     return data
开发者ID:DannyBenItzhak,项目名称:analytics,代码行数:26,代码来源:oauth.py


示例11: url_add

def url_add(url=None, **kwargs):
    scheme, netloc, path, query, fragments = urlsplit(url or request.url)
    params = url_decode(query)
    for key, value in kwargs.items():
        if not value in params.getlist(key):
            params.add(key, value)
    return Markup(urlunsplit((scheme, netloc, path, url_encode(params), fragments)))
开发者ID:pborreli,项目名称:cada,代码行数:7,代码来源:views.py


示例12: web_auth_signup

    def web_auth_signup(self, *args, **kw):
        qcontext = self.get_auth_signup_qcontext()

        if not qcontext.get('token') and not qcontext.get('signup_enabled'):
            raise werkzeug.exceptions.NotFound()

        if 'error' not in qcontext and request.httprequest.method == 'POST':
            try:
                self.do_signup(qcontext)
                # Send an account creation confirmation email
                if qcontext.get('token'):
                    user_sudo = request.env['res.users'].sudo().search([('login', '=', qcontext.get('login'))])
                    template = request.env.ref('auth_signup.mail_template_user_signup_account_created', raise_if_not_found=False)
                    if user_sudo and template:
                        template.sudo().with_context(
                            lang=user_sudo.lang,
                            auth_login=werkzeug.url_encode({'auth_login': user_sudo.email}),
                        ).send_mail(user_sudo.id, force_send=True)
                return super(AuthSignupHome, self).web_login(*args, **kw)
            except UserError as e:
                qcontext['error'] = e.name or e.value
            except (SignupError, AssertionError) as e:
                if request.env["res.users"].sudo().search([("login", "=", qcontext.get("login"))]):
                    qcontext["error"] = _("Another user is already registered using this email address.")
                else:
                    _logger.error("%s", e)
                    qcontext['error'] = _("Could not create a new account.")

        response = request.render('auth_signup.signup', qcontext)
        response.headers['X-Frame-Options'] = 'DENY'
        return response
开发者ID:PieterPaulussen,项目名称:odoo,代码行数:31,代码来源:main.py


示例13: authorize

    def authorize(self, callback=None, state=None):
        """Returns a redirect response to the remote authorization URL with
        the signed callback given.  The callback must be `None` in which
        case the application will most likely switch to PIN based authentication
        or use a remotely stored callback URL.  Alternatively it's an URL
        on the system that has to be decorated as :meth:`authorized_handler`.
        """
        if self.request_token_url:
            token = self.generate_request_token(callback)[0]
            url = '%s?oauth_token=%s' % (self.expand_url(self.authorize_url),
                                         url_quote(token))
            url = add_query(url, self.authorize_params)
        else:
            assert callback is not None, 'Callback is required OAuth2'
            # This is for things like facebook's oauth.  Since we need the
            # callback for the access_token_url we need to keep it in the
            # session.
            params = dict(self.request_token_params)
            params['redirect_uri'] = callback
            params['client_id'] = self.consumer_key
            params['state'] = url_encode(state or {})

            session[self.name + '_oauthredir'] = callback
            url = add_query(self.expand_url(self.authorize_url), params)
        return redirect(url)
开发者ID:djt,项目名称:flask-oauth,代码行数:25,代码来源:oauth.py


示例14: new_database

 def new_database(self, **post):
     params = post.copy()
     state = simplejson.loads(post.get('state'))
     if not state.get('p'):
         state['p'] = request.env.ref('saas_client.saas_oauth_provider').id
     params['state'] = simplejson.dumps(state)
     return werkzeug.utils.redirect('/auth_oauth/signin?%s' % werkzeug.url_encode(params))
开发者ID:jeffery9,项目名称:odoo-saas-tools,代码行数:7,代码来源:main.py


示例15: _validate_recaptcha

    def _validate_recaptcha(self, challenge, response, remote_addr):
        """Performs the actual validation."""
        private_key = get_config('tipfy.ext.wtforms', 'recaptcha_private_key')
        result = urlfetch.fetch(url=RECAPTCHA_VERIFY_SERVER,
            method=urlfetch.POST,
            headers={'Content-Type': 'application/x-www-form-urlencoded'},
            payload=url_encode({
                'privatekey': private_key,
                'remoteip':   remote_addr,
                'challenge':  challenge,
                'response':   response
            }))

        if result.status_code != 200:
            return False

        rv = [l.strip() for l in result.content.splitlines()]

        if rv and rv[0] == 'true':
            return True

        if len(rv) > 1:
            error = rv[1]
            if error in self._error_codes:
                raise RuntimeError(self._error_codes[error])

        return False
开发者ID:Hubble1,项目名称:eventgrinder,代码行数:27,代码来源:validators.py


示例16: modify_query

def modify_query(**new_values):
    args = request.args.copy()

    for key, value in new_values.items():
        args[key] = value

    return "{}?{}".format(request.path, url_encode(args))
开发者ID:geobretagne,项目名称:mdchecker,代码行数:7,代码来源:main.py


示例17: __call__

    def __call__(self, field, error=None, **kwargs):
        """Returns the recaptcha input HTML."""

        try:
            public_key = current_app.config['RECAPTCHA_PUBLIC_KEY']
        except KeyError:
            raise RuntimeError("RECAPTCHA_PUBLIC_KEY config not set")
        query_options = dict(k=public_key)

        if field.recaptcha_error is not None:
            query_options['error'] = text_type(field.recaptcha_error)

        query = url_encode(query_options)

        _ = field.gettext

        options = {
            'theme': 'clean',
            'custom_translations': {
                'visual_challenge': _('Get a visual challenge'),
                'audio_challenge': _('Get an audio challenge'),
                'refresh_btn': _('Get a new challenge'),
                'instructions_visual': _('Type the two words:'),
                'instructions_audio': _('Type what you hear:'),
                'help_btn': _('Help'),
                'play_again': _('Play sound again'),
                'cant_hear_this': _('Download sound as MP3'),
                'incorrect_try_again': _('Incorrect. Try again.'),
            }
        }

        options.update(current_app.config.get('RECAPTCHA_OPTIONS', {}))

        return self.recaptcha_html(query, options)
开发者ID:ZZYW,项目名称:is_shame_necessary_website,代码行数:34,代码来源:widgets.py


示例18: avatar

    def avatar(self, size=30):
        if not app.cfg.user_use_gravatar:
            return None

        from MoinMoin.themes import get_current_theme
        from flask.ext.themes import static_file_url

        theme = get_current_theme()

        email = self.email
        if not email:
            return static_file_url(theme, theme.info.get('default_avatar', 'img/default_avatar.png'))

        param = {}
        param['gravatar_id'] = hashlib.md5(email.lower()).hexdigest()

        param['default'] = static_file_url(theme,
                                           theme.info.get('default_avatar', 'img/default_avatar.png'),
                                           True)

        param['size'] = str(size)
        # TODO: use same protocol of Moin site (might be https instead of http)]
        gravatar_url = "http://www.gravatar.com/avatar.php?"
        gravatar_url += werkzeug.url_encode(param)

        return gravatar_url
开发者ID:rciorba,项目名称:moin-2.0-mirror,代码行数:26,代码来源:user.py


示例19: 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)
     param_plus = {
         'return_url': ogone_tx_values.pop('return_url', False)
     }
     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': url_encode(param_plus),
     }
     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:Vauxoo,项目名称:odoo,代码行数:34,代码来源:payment.py


示例20: paypal_validate_data

    def paypal_validate_data(self, **post):
        """ Paypal IPN: three steps validation to ensure data correctness

         - step 1: return an empty HTTP 200 response -> will be done at the end
           by returning ''
         - step 2: POST the complete, unaltered message back to Paypal (preceded
           by cmd=_notify-validate), with same encoding
         - step 3: paypal send either VERIFIED or INVALID (single word)

        Once data is validated, process it. """
        res = False
        new_post = dict(post, cmd='_notify-validate')
        cr, uid, context = request.cr, request.uid, request.context
        reference = post.get('item_number')
        tx = None
        if reference:
            tx_ids = request.registry['payment.transaction'].search(cr, uid, [('reference', '=', reference)], context=context)
            if tx_ids:
                tx = request.registry['payment.transaction'].browse(cr, uid, tx_ids[0], context=context)
        paypal_urls = request.registry['payment.acquirer']._get_paypal_urls(cr, uid, tx and tx.acquirer_id and tx.acquirer_id.environment or 'prod', context=context)
        validate_url = paypal_urls['paypal_form_url']
        urequest = urllib2.Request(validate_url, werkzeug.url_encode(new_post))
        uopen = urllib2.urlopen(urequest)
        resp = uopen.read()
        if resp == 'VERIFIED':
            _logger.info('Paypal: validated data')
            res = request.registry['payment.transaction'].form_feedback(cr, SUPERUSER_ID, post, 'paypal', context=context)
        elif resp == 'INVALID':
            _logger.warning('Paypal: answered INVALID on data verification')
        else:
            _logger.warning('Paypal: unrecognized paypal answer, received %s instead of VERIFIED or INVALID' % resp.text)
        return res
开发者ID:474416133,项目名称:odoo,代码行数:32,代码来源:main.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Python werkzeug.Client类代码示例发布时间:2022-05-26
下一篇:
Python werkzeug.url_decode函数代码示例发布时间: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