Change Directory
This commit is contained in:
42
librespot/common/Utils.py
Normal file
42
librespot/common/Utils.py
Normal file
@@ -0,0 +1,42 @@
|
||||
import binascii
|
||||
import os
|
||||
|
||||
|
||||
class Utils:
|
||||
@staticmethod
|
||||
def random_hex_string(length: int):
|
||||
buffer = os.urandom(int(length / 2))
|
||||
return Utils.bytes_to_hex(buffer)
|
||||
|
||||
@staticmethod
|
||||
def truncate_middle(s: str, length: int) -> str:
|
||||
if length <= 1:
|
||||
raise TypeError()
|
||||
|
||||
first = length / 2
|
||||
result = s[:first]
|
||||
result += "..."
|
||||
result += s[len(s) - (length - first):]
|
||||
return result
|
||||
|
||||
@staticmethod
|
||||
def split(s: str, c: str):
|
||||
return s.split(c)
|
||||
|
||||
@staticmethod
|
||||
def to_byte_array(i: int) -> bytes:
|
||||
width = i.bit_length()
|
||||
width += 8 - ((width % 8) or 8)
|
||||
fmt = '%%0%dx' % (width // 4)
|
||||
if i == 0:
|
||||
return bytes([0])
|
||||
else:
|
||||
return binascii.unhexlify(fmt % i)
|
||||
|
||||
@staticmethod
|
||||
def bytes_to_hex(buffer: bytes) -> str:
|
||||
return binascii.hexlify(buffer).decode()
|
||||
|
||||
@staticmethod
|
||||
def hex_to_bytes(s: str) -> bytes:
|
||||
return binascii.unhexlify(s)
|
||||
Reference in New Issue
Block a user