b2sdk._internal.utils
- b2sdk._internal.utils.b2_url_encode(s)[source]
URL-encode a unicode string to be sent to B2 in an HTTP header.
- b2sdk._internal.utils.b2_url_decode(s)[source]
Decode a Unicode string returned from B2 in an HTTP header.
- b2sdk._internal.utils.choose_part_ranges(content_length, minimum_part_size)[source]
Return a list of (offset, length) for the parts of a large file.
- b2sdk._internal.utils.update_digest_from_stream(digest, input_stream, content_length)[source]
Update and return digest with data read from input_stream
- b2sdk._internal.utils.hex_sha1_of_stream(input_stream, content_length)[source]
Return the 40-character hex SHA1 checksum of the first content_length bytes in the input stream.
- class b2sdk._internal.utils.IncrementalHexDigester(stream, digest=<factory>, read_bytes=0, block_size=1048576)[source]
Bases:
object
Calculates digest of a stream or parts of it.
- stream: ReadOnlyStream
- digest: hashlib._Hash
- read_bytes: int = 0
- block_size: int = 1048576
- property hex_digest: Sha1HexDigest
- __init__(stream, digest=<factory>, read_bytes=0, block_size=1048576)
- b2sdk._internal.utils.hex_sha1_of_bytes(data)[source]
Return the 40-character hex SHA1 checksum of the data.
- b2sdk._internal.utils.hex_md5_of_bytes(data)[source]
Return the 32-character hex MD5 checksum of the data.
- b2sdk._internal.utils.b64_of_bytes(data)[source]
Return the base64 encoded represtantion of the data.
- b2sdk._internal.utils.validate_b2_file_name(name)[source]
Raise a ValueError if the name is not a valid B2 file name.
- Parameters:
name (str) – a string to check
- b2sdk._internal.utils.is_file_readable(local_path, reporter=None)[source]
Check if the local file has read permissions.
- b2sdk._internal.utils.get_file_mtime(local_path)[source]
Get modification time of a file in milliseconds.
- b2sdk._internal.utils.is_special_file(path)[source]
Is the path a special file, such as /dev/null or stdout?
- b2sdk._internal.utils.set_file_mtime(local_path, mod_time_millis)[source]
Set modification time of a file in milliseconds.
- b2sdk._internal.utils.fix_windows_path_limit(path)[source]
Prefix paths when running on Windows to overcome 260 character path length limit. See https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath
- b2sdk._internal.utils.format_and_scale_number(x, unit)[source]
Pick a good scale for representing a number and format it.
- b2sdk._internal.utils.format_and_scale_fraction(numerator, denominator, unit)[source]
Pick a good scale for representing a fraction, and format it.
- b2sdk._internal.utils.camelcase_to_underscore(input_)[source]
Convert a camel-cased string to a string with underscores.
- class b2sdk._internal.utils.B2TraceMeta(name, bases, attrs, **kwargs)[source]
Bases:
DefaultTraceMeta
Trace all public method calls, except for ones with names that begin with get_.
- class b2sdk._internal.utils.B2TraceMetaAbstract(name, bases, namespace, /, **kwargs)[source]
Bases:
DefaultTraceAbstractMeta
Default class for tracers, to be set as a metaclass for abstract base classes.
- class b2sdk._internal.utils.ConcurrentUsedAuthTokenGuard(lock, token)[source]
Bases:
object
Context manager preventing two tokens being used simultaneously. Throws UploadTokenUsedConcurrently when unable to acquire a lock Sample usage:
- with ConcurrentUsedAuthTokenGuard(lock_for_token, token):
# code that uses the token exclusively
- b2sdk._internal.utils.current_time_millis()[source]
File times are in integer milliseconds, to avoid roundoff errors.
- b2sdk._internal.utils.iterator_peek(iterator, count)[source]
Get up to the count first elements yielded by iterator.
The function will read count elements from iterator or less if the end is reached first. Returns a tuple consisting of a list of retrieved elements and an iterator equivalent to the input iterator.