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


Python util.url_quote函数代码示例

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


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


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