From 05da4603fb8155f89fc24dcebf880938a0394e85 Mon Sep 17 00:00:00 2001 From: Determinant Date: Sun, 16 Aug 2020 02:31:31 -0400 Subject: freeze the dependencies --- freezed_deps/ecdsa/_compat.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 freezed_deps/ecdsa/_compat.py (limited to 'freezed_deps/ecdsa/_compat.py') diff --git a/freezed_deps/ecdsa/_compat.py b/freezed_deps/ecdsa/_compat.py new file mode 100644 index 0000000..965d8c4 --- /dev/null +++ b/freezed_deps/ecdsa/_compat.py @@ -0,0 +1,39 @@ +""" +Common functions for providing cross-python version compatibility. +""" +import sys +from six import integer_types + + +def str_idx_as_int(string, index): + """Take index'th byte from string, return as integer""" + val = string[index] + if isinstance(val, integer_types): + return val + return ord(val) + + +if sys.version_info < (3, 0): + def normalise_bytes(buffer_object): + """Cast the input into array of bytes.""" + # flake8 runs on py3 where `buffer` indeed doesn't exist... + return buffer(buffer_object) # noqa: F821 + + def hmac_compat(ret): + return ret + +else: + if sys.version_info < (3, 4): + # on python 3.3 hmac.hmac.update() accepts only bytes, on newer + # versions it does accept memoryview() also + def hmac_compat(data): + if not isinstance(data, bytes): + return bytes(data) + return data + else: + def hmac_compat(data): + return data + + def normalise_bytes(buffer_object): + """Cast the input into array of bytes.""" + return memoryview(buffer_object).cast('B') -- cgit v1.2.3-70-g09d2