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

Python util.url_quote函数代码示例

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

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



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

示例1: __init__

    def __init__(self, uri, create=False, server=None):
        """Constructor for Database

        @param uri: str, Database uri
        @param create: boolean, False by default,
        if True try to create the database.
        @param server: Server instance

        """
        uri_parsed = urlparse.urlparse(uri)
        self.server_uri = "%s://%s" % (uri_parsed.scheme, uri_parsed.netloc)
        self.dbname = uri_parsed.path.strip("/")

        if server is not None:
            if not hasattr(server, 'next_uuid'):
                raise TypeError('%s is not a couchdbkit.server instance' %
                            server.__class__.__name__)
            self.server = server
        else:
            self.server = server = Server(self.server_uri)

        try:
            self.server.res.head('/%s/' % url_quote(self.dbname, safe=":"))
        except resource.ResourceNotFound:
            if create:
                self.server.res.put('/%s/' % url_quote(self.dbname, safe=":"))
            else:
                raise

        self.res = server.res.clone()
        if "/" in self.dbname:
            self.res.safe = ":/%"
        self.res.update_uri('/%s' % url_quote(self.dbname, safe=":"))
开发者ID:pib,项目名称:couchdbkit,代码行数:33,代码来源:client.py


示例2: escape_docid

def escape_docid(docid):
    if docid.startswith('/'):
        docid = docid[1:]
    if docid.startswith('_design'):
        docid = '_design/%s' % util.url_quote(docid[8:], safe='')
    else:
        docid = util.url_quote(docid, safe='')
    return docid
开发者ID:harthur,项目名称:couchapp,代码行数:8,代码来源:client.py


示例3: escape_docid

def escape_docid(docid):
    if docid.startswith("/"):
        docid = docid[1:]
    if docid.startswith("_design"):
        docid = "_design/%s" % util.url_quote(docid[8:], safe="")
    else:
        docid = util.url_quote(docid, safe="")
    return docid
开发者ID:nailor,项目名称:couchapp,代码行数:8,代码来源:client.py


示例4: form_encode

def form_encode(obj, charset="utf8"):

    if hasattr( obj, 'items' ):
        obj = obj.items()

    lines = [
        ( u"%s=%s" %
            ( url_quote(key), url_quote(value) )
        ).encode( charset ) for
            (key, value) in obj
    ]
    return to_bytestring( "&".join( lines ) )
开发者ID:gelendir,项目名称:tiktok,代码行数:12,代码来源:resources.py


示例5: put_attachment

    def put_attachment(self, doc, content=None, name=None, headers=None):
        """ Add attachement to a document. All attachments are streamed.

        @param doc: dict, document object
        @param content: string, iterator,  fileobj
        @param name: name or attachment (file name).
        @param headers: optionnal headers like `Content-Length` 
        or `Content-Type`

        @return: updated document object
        """
        headers = {}
        content = content or ""
            
        if name is None:
            if hasattr(content, "name"):
                name = content.name
            else:
                raise InvalidAttachment(
                            'You should provid a valid attachment name')
        name = util.url_quote(name, safe="")
        res = self.put("%s/%s" % (escape_docid(doc['_id']), name), 
                    payload=content, headers=headers, rev=doc['_rev'])
        json_res = res.json_body
        
        if 'ok' in json_res:
            return doc.update(self.open_doc(doc['_id']))
        return False
开发者ID:harthur,项目名称:couchapp,代码行数:28,代码来源:client.py


示例6: __init__

    def __init__(self, name, value, fname=None, filetype=None, filesize=None):
        self.name = url_quote(name)
        if value is not None and not hasattr(value, 'read'):
            value = self.encode_unreadable_value(value)
            self.size = len(value)
        self.value = value
        if fname is not None:
            if isinstance(fname, unicode):
                fname = fname.encode("utf-8").encode("string_escape").replace('"', '\\"')
            else:
                fname = fname.encode("string_escape").replace('"', '\\"')
        self.fname = fname
        if filetype is not None:
            filetype = to_bytestring(filetype)
        self.filetype = filetype
        
        if isinstance(value, file) and filesize is None:
            try:
                value.flush()
            except IOError:
                pass
            self.size = int(os.fstat(value.fileno())[6])

        self._encoded_hdr = None
        self._encoded_bdr = None
开发者ID:andrewjw,项目名称:restkit,代码行数:25,代码来源:forms.py


示例7: fetch_attachment

    def fetch_attachment(self, id_or_doc, name, stream=False,
            headers=None, **params):
        """ get attachment in a document

        @param id_or_doc: str or dict, doc id or document dict
        @param name: name of attachment default: default result
        @param stream: boolean, if True return a file object
        @param params, list of optionnal params.
        @return: `restkit.httpc.Response` object
        """

        if isinstance(id_or_doc, basestring):
            docid = id_or_doc
        else:
            doc, schema = _maybe_serialize(id_or_doc)
            docid = doc['_id']
            if not 'rev' in params.keys():
                params['rev'] = doc['_rev']

        docid = resource.escape_docid(docid)
        name = url_quote(name, safe="")

        resp = self.res(docid).get(name, headers=headers, **params)
        if stream:
            return resp.body_stream()
        return resp.body_string(charset="utf-8")
开发者ID:mutualmobile,项目名称:couchdbkit,代码行数:26,代码来源:client.py


示例8: delete_attachment

    def delete_attachment(self, doc, name):
        """ delete attachement to the document
        
        @param doc: dict, document object in python
        @param name: name of attachement

        @return: updated document object
        """
        name = util.url_quote(name, safe="")
        self.res.delete("%s/%s" % (escape_docid(doc["_id"]), name), rev=doc["_rev"]).json_body
        return doc.update(self.open_doc(doc["_id"]))
开发者ID:nailor,项目名称:couchapp,代码行数:11,代码来源:client.py


示例9: delete_attachment

    def delete_attachment(self, doc, name):
        """ delete attachement to the document

        @param doc: dict, document object in python
        @param name: name of attachement

        @return: dict, with member ok set to True if delete was ok.
        """
        docid = resource.escape_docid(doc["_id"])
        name = url_quote(name, safe="")

        res = self.res(docid).delete(name, rev=doc["_rev"]).json_body
        if res["ok"]:
            doc.update({"_rev": res["rev"]})
        return res["ok"]
开发者ID:AlexMikhalev,项目名称:couchdbkit,代码行数:15,代码来源:client.py


示例10: delete_attachment

    def delete_attachment(self, doc, name):
        """ delete attachement to the document

        @param doc: dict, document object in python
        @param name: name of attachement

        @return: dict, with member ok set to True if delete was ok.
        """
        docid = resource.escape_docid(doc['_id'])
        name = url_quote(name, safe="")

        res = self.res(docid).delete(name, rev=doc['_rev']).json_body
        if res['ok']:
            new_doc = self.get(doc['_id'], rev=res['rev'])
            doc.update(new_doc)
        return res['ok']
开发者ID:alanboyce,项目名称:couchdbkit,代码行数:16,代码来源:client.py


示例11: delete_attachment

    def delete_attachment(self, doc, name, headers=None):
        """ delete attachement to the document

        @param doc: dict, document object in python
        @param name: name of attachement

        @return: dict, with member ok set to True if delete was ok.
        """
        doc1, schema = _maybe_serialize(doc)

        docid = resource.escape_docid(doc1["_id"])
        name = url_quote(name, safe="")

        res = self.res(docid).delete(name, rev=doc1["_rev"], headers=headers).json_body
        if res["ok"]:
            new_doc = self.get(doc1["_id"], rev=res["rev"])
            doc.update(new_doc)
        return res["ok"]
开发者ID:esho,项目名称:couchdbkit,代码行数:18,代码来源:client.py


示例12: encode_hdr

 def encode_hdr(self, boundary):
     """Returns the header of the encoding of this parameter"""
     boundary = url_quote(boundary)
     headers = ["--%s" % boundary]
     if self.fname:
         disposition = 'form-data; name="%s"; filename="%s"' % (self.name,
                 self.fname)
     else:
         disposition = 'form-data; name="%s"' % self.name
     headers.append("Content-Disposition: %s" % disposition)
     if self.filetype:
         filetype = self.filetype
     else:
         filetype = "text/plain; charset=utf-8"
     headers.append("Content-Type: %s" % filetype)
     headers.append("Content-Length: %i" % self.size)
     headers.append("")
     headers.append("")
     return "\r\n".join(headers)
开发者ID:RusKursusGruppen,项目名称:interntregnskab,代码行数:19,代码来源:forms.py


示例13: delete_attachment

    def delete_attachment(self, doc, name, headers=None, **params):
        """ delete attachement to the document

        @param doc: dict, document object in python
        @param name: name of attachement
        @param params, list of optionnal params.

        @return: dict, with member ok set to True if delete was ok.
        """
        doc1, schema = _maybe_serialize(doc)

        docid = resource.escape_docid(doc1['_id'])
        name = url_quote(name, safe="")

        res = self.res(docid).delete(name, rev=doc1['_rev'],
                headers=headers, **params).json_body
        if res['ok']:
            new_doc = self.get(doc1['_id'], rev=res['rev'])
            doc.update(new_doc)
        return res['ok']
开发者ID:mutualmobile,项目名称:couchdbkit,代码行数:20,代码来源:client.py


示例14: fetch_attachment

    def fetch_attachment(self, id_or_doc, name, stream=False):
        """ get attachment in a document

        @param id_or_doc: str or dict, doc id or document dict
        @param name: name of attachment default: default result
        @param stream: boolean, if True return a file object
        @return: `restkit.httpc.Response` object
        """

        if isinstance(id_or_doc, basestring):
            docid = id_or_doc
        else:
            docid = id_or_doc['_id']

        docid = resource.escape_docid(docid)
        name = url_quote(name, safe="")

        resp = self.res(docid).get(name)
        if stream:
            return resp.body_file
        return resp.body_string(charset="utf-8")
开发者ID:alanboyce,项目名称:couchdbkit,代码行数:21,代码来源:client.py


示例15: _make_uri

    def _make_uri(self, base, *path, **query):
        """Assemble a uri based on a base, any number of path segments, 
        and query string parameters.

        """
        base_trailing_slash = False
        if base and base.endswith("/"):
            base_trailing_slash = True
            base = base[:-1]
        retval = [base]

        # build the path
        _path = []
        trailing_slash = False       
        for s in path:
            if s is not None and isinstance(s, basestring):
                if len(s) > 1 and s.endswith('/'):
                    trailing_slash = True
                else:
                    trailing_slash = False
                _path.append(util.url_quote(s.strip('/'), self.charset, self.safe))
                       
        path_str =""
        if _path:
            path_str = "/".join([''] + _path)
            if trailing_slash:
                path_str = path_str + "/" 
        elif base_trailing_slash:
            path_str = path_str + "/" 
            
        if path_str:
            retval.append(path_str)

        params_str = util.url_encode(query, self.charset, self.encode_keys)
        if params_str:
            retval.extend(['?', params_str])

        return ''.join(retval)
开发者ID:mwhooker,项目名称:restkit,代码行数:38,代码来源:resource.py


示例16: put_attachment

    def put_attachment(self, doc, content, name=None, content_type=None,
            content_length=None, headers=None):
        """ Add attachement to a document. All attachments are streamed.

        @param doc: dict, document object
        @param content: string or :obj:`File` object.
        @param name: name or attachment (file name).
        @param content_type: string, mimetype of attachment.
        If you don't set it, it will be autodetected.
        @param content_lenght: int, size of attachment.

        @return: bool, True if everything was ok.


        Example:

            >>> from simplecouchdb import server
            >>> server = server()
            >>> db = server.create_db('couchdbkit_test')
            >>> doc = { 'string': 'test', 'number': 4 }
            >>> db.save(doc)
            >>> text_attachment = u'un texte attaché'
            >>> db.put_attachment(doc, text_attachment, "test", "text/plain")
            True
            >>> file = db.fetch_attachment(doc, 'test')
            >>> result = db.delete_attachment(doc, 'test')
            >>> result['ok']
            True
            >>> db.fetch_attachment(doc, 'test')
            >>> del server['couchdbkit_test']
            {u'ok': True}
        """

        if not headers:
            headers = {}

        if not content:
            content = ""
            content_length = 0
        if name is None:
            if hasattr(content, "name"):
                name = content.name
            else:
                raise InvalidAttachment('You should provide a valid attachment name')
        name = url_quote(name, safe="")
        if content_type is None:
            content_type = ';'.join(filter(None, guess_type(name)))

        if content_type:
            headers['Content-Type'] = content_type

        # add appropriate headers
        if content_length and content_length is not None:
            headers['Content-Length'] = content_length

        doc1, schema = _maybe_serialize(doc)

        docid = resource.escape_docid(doc1['_id'])
        res = self.res(docid).put(name, payload=content,
                headers=headers, rev=doc1['_rev']).json_body

        if res['ok']:
            new_doc = self.get(doc1['_id'], rev=res['rev'])
            doc.update(new_doc)
        return res['ok']
开发者ID:DrTeePot,项目名称:couchdbkit,代码行数:65,代码来源:client.py


示例17: __contains__

 def __contains__(self, dbname):
     try:
         self.res.head('/%s/' % url_quote(dbname, safe=":"))
     except:
         return False
     return True
开发者ID:DrTeePot,项目名称:couchdbkit,代码行数:6,代码来源:client.py


示例18: _db_uri

    def _db_uri(self, dbname):
        if dbname.startswith("/"):
            dbname = dbname[1:]

        dbname = url_quote(dbname, safe=":")
        return "/".join([self.uri, dbname])
开发者ID:DrTeePot,项目名称:couchdbkit,代码行数:6,代码来源:client.py


示例19: __delitem__

 def __delitem__(self, dbname):
     ret = self.res.delete('/%s/' % url_quote(dbname,
         safe=":")).json_body
     return ret
开发者ID:DrTeePot,项目名称:couchdbkit,代码行数:4,代码来源:client.py


示例20: encode_unreadable_value

 def encode_unreadable_value(self, value):
     return url_quote(value)
开发者ID:andrewjw,项目名称:restkit,代码行数:2,代码来源:forms.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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