From 0c04db33d8b863e686fd71d96dc0def7ad5cce6e Mon Sep 17 00:00:00 2001 From: Justin Turner Arthur Date: Mon, 13 Nov 2017 01:03:20 -0600 Subject: [PATCH] Simplify bytes/hex conversion functions now that we're Python 3+ only. --- lib/util.py | 37 ++++++++----------------------------- 1 file changed, 8 insertions(+), 29 deletions(-) diff --git a/lib/util.py b/lib/util.py index 3b0a3664b..9c46ff4ec 100644 --- a/lib/util.py +++ b/lib/util.py @@ -291,44 +291,23 @@ def to_bytes(something, encoding='utf8'): else: raise TypeError("Not a string or bytes like object") -bfh_builder = lambda x: bytes.fromhex(x) - -def hfu(x): - """ - py2-py3 aware wrapper for str.encode('hex') - :param x: str - :return: str - """ - assert_bytes(x) - return binascii.hexlify(x) +bfh = bytes.fromhex +hfu = binascii.hexlify -def bfh(x): - """ - py2-py3 aware wrapper to "bytes.fromhex()" func - :param x: str - :rtype: bytes +def bh2u(x): """ - if isinstance(x, str): - return bfh_builder(x) - # TODO: check for iterator interface - elif isinstance(x, (list, tuple, map)): - return [bfh(sub) for sub in x] - else: - raise TypeError('Unexpected type: ' + str(type(x))) + str with hex representation of a bytes-like object + >>> x = bytes((1, 2, 10)) + >>> bh2u(x) + '01020A' -def bh2u(x): - """ - unicode with hex representation of bytes() - e.g. x = bytes([1, 2, 10]) - bh2u(x) -> '01020A' :param x: bytes :rtype: str """ - assert_bytes(x) - return binascii.hexlify(x).decode('ascii') + return hfu(x).decode('ascii') def user_dir():