本文整理汇总了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=":"))
示例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
示例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
示例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 ) )
示例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
示例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
示例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")
示例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"]))
示例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"]
示例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']
示例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"]
示例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)
示例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']
示例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")
示例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)