本文整理汇总了Python中botocore.compat.six.binary_type方法的典型用法代码示例。如果您正苦于以下问题:Python six.binary_type方法的具体用法?Python six.binary_type怎么用?Python six.binary_type使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类botocore.compat.six
的用法示例。
在下文中一共展示了six.binary_type方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _convert_to_string
# 需要导入模块: from botocore.compat import six [as 别名]
# 或者: from botocore.compat.six import binary_type [as 别名]
def _convert_to_string(data):
scalar_types = six.string_types + six.integer_types
if isinstance(data, six.binary_type):
if sys.version_info[0] >= 3:
return data.decode('utf8')
else:
return data
elif isinstance(data, six.text_type):
if sys.version_info[0] >= 3:
return data
else:
return data.encode('utf8')
elif isinstance(data, scalar_types) or hasattr(data, '__str__'):
return str(data)
else:
LOG.error('echo called with an unsupported data type')
LOG.debug('data class = ' + data.__class__.__name__)
示例2: percent_encode
# 需要导入模块: from botocore.compat import six [as 别名]
# 或者: from botocore.compat.six import binary_type [as 别名]
def percent_encode(input_str, safe=SAFE_CHARS):
"""Urlencodes a string.
Whereas percent_encode_sequence handles taking a dict/sequence and
producing a percent encoded string, this function deals only with
taking a string (not a dict/sequence) and percent encoding it.
If given the binary type, will simply URL encode it. If given the
text type, will produce the binary type by UTF-8 encoding the
text. If given something else, will convert it to the text type
first.
"""
# If its not a binary or text string, make it a text string.
if not isinstance(input_str, (six.binary_type, six.text_type)):
input_str = six.text_type(input_str)
# If it's not bytes, make it bytes by UTF-8 encoding it.
if not isinstance(input_str, six.binary_type):
input_str = input_str.encode('utf-8')
return quote(input_str, safe=safe)
示例3: reset_stream
# 需要导入模块: from botocore.compat import six [as 别名]
# 或者: from botocore.compat.six import binary_type [as 别名]
def reset_stream(self):
"""Resets the streaming body to it's initial position.
If the request contains a streaming body (a streamable file-like object)
seek to the object's initial position to ensure the entire contents of
the object is sent. This is a no-op for static bytes-like body types.
"""
# Trying to reset a stream when there is a no stream will
# just immediately return. It's not an error, it will produce
# the same result as if we had actually reset the stream (we'll send
# the entire body contents again if we need to).
# Same case if the body is a string/bytes/bytearray type.
non_seekable_types = (six.binary_type, six.text_type, bytearray)
if self.body is None or isinstance(self.body, non_seekable_types):
return
try:
logger.debug("Rewinding stream: %s", self.body)
self.body.seek(0)
except Exception as e:
logger.debug("Unable to rewind stream: %s", e)
raise UnseekableStreamError(stream_object=self.body)
示例4: percent_encode
# 需要导入模块: from botocore.compat import six [as 别名]
# 或者: from botocore.compat.six import binary_type [as 别名]
def percent_encode(input_str, safe=SAFE_CHARS):
"""Urlencodes a string.
Whereas percent_encode_sequence handles taking a dict/sequence and
producing a percent encoded string, this function deals only with
taking a string (not a dict/sequence) and percent encoding it.
If given the binary type, will simply URL encode it. If given the
text type, will produce the binary type by UTF-8 encoding the
text. If given something else, will convert it to the the text type
first.
"""
# If its not a binary or text string, make it a text string.
if not isinstance(input_str, (six.binary_type, six.text_type)):
input_str = six.text_type(input_str)
# If it's not bytes, make it bytes by UTF-8 encoding it.
if not isinstance(input_str, six.binary_type):
input_str = input_str.encode('utf-8')
return quote(input_str, safe=safe)
示例5: _get_body_as_dict
# 需要导入模块: from botocore.compat import six [as 别名]
# 或者: from botocore.compat.six import binary_type [as 别名]
def _get_body_as_dict(self, request):
# For query services, request.data is form-encoded and is already a
# dict, but for other services such as rest-json it could be a json
# string or bytes. In those cases we attempt to load the data as a
# dict.
data = request.data
if isinstance(data, six.binary_type):
data = json.loads(data.decode('utf-8'))
elif isinstance(data, six.string_types):
data = json.loads(data)
return data
示例6: reset_stream
# 需要导入模块: from botocore.compat import six [as 别名]
# 或者: from botocore.compat.six import binary_type [as 别名]
def reset_stream(self):
# Trying to reset a stream when there is a no stream will
# just immediately return. It's not an error, it will produce
# the same result as if we had actually reset the stream (we'll send
# the entire body contents again if we need to).
# Same case if the body is a string/bytes type.
if self.body is None or isinstance(self.body, six.text_type) or \
isinstance(self.body, six.binary_type):
return
try:
logger.debug("Rewinding stream: %s", self.body)
self.body.seek(0)
except Exception as e:
logger.debug("Unable to rewind stream: %s", e)
raise UnseekableStreamError(stream_object=self.body)
示例7: _is_binary
# 需要导入模块: from botocore.compat import six [as 别名]
# 或者: from botocore.compat.six import binary_type [as 别名]
def _is_binary(self, value):
if isinstance(value, Binary):
return True
elif isinstance(value, bytearray):
return True
elif six.PY3 and isinstance(value, six.binary_type):
return True
return False
示例8: _encode
# 需要导入模块: from botocore.compat import six [as 别名]
# 或者: from botocore.compat.six import binary_type [as 别名]
def _encode(self, data, path):
"""Encode bytes in given data, keeping track of the path traversed."""
if isinstance(data, dict):
return self._encode_dict(data, path)
elif isinstance(data, list):
return self._encode_list(data, path)
elif isinstance(data, six.binary_type):
return self._encode_bytes(data, path)
else:
return data, []
示例9: ensure_text_type
# 需要导入模块: from botocore.compat import six [as 别名]
# 或者: from botocore.compat.six import binary_type [as 别名]
def ensure_text_type(s):
if isinstance(s, six.text_type):
return s
if isinstance(s, six.binary_type):
return s.decode('utf-8')
raise ValueError("Expected str, unicode or bytes, received %s." % type(s))