def test_tob(): actual = tob('123') expected = b'123' assert actual == expected actual = tob('你好') expected = '你好'.encode('utf8') assert actual == expected
def get_local_host_ip(ifname=b"eth1", ip: str = None, port: int = None) -> str: """获得本机的IP地址 .""" import platform import socket if not ifname and ip and port: sock = None try: sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.connect((ip, port)) return sock.getsockname()[0] finally: if sock: sock.close() if platform.system() == "Linux": import fcntl import struct ifname = tob(ifname) sock = None try: sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) o_ip = socket.inet_ntoa( fcntl.ioctl(sock.fileno(), 0x8915, struct.pack("256s", ifname[:15]))[20:24]) finally: if sock: sock.close() else: o_ip = socket.gethostbyname(socket.gethostname()) return o_ip
def decrypt(key, ciphertext): """基于AES的解密操作 .""" f = Fernet(tob(key)) return f.decrypt(tob(ciphertext)).decode('utf-8')
def encrypt(key, plaintext): """基于AES的加密操作 .""" f = Fernet(tob(key)) return f.encrypt(tob(plaintext)).decode('utf-8')
def decode(cls, data: Union[str, bytes]) -> object: return json.loads(tob(data))
def test_get_run_command_result(): actual = misc.get_run_command_result("echo 1") expect = (0, b'1' + misc.tob(os.linesep), b'') assert actual == expect
def decode(cls, data: Union[str, bytes]) -> object: if not data: return data return pickle.loads(tob(data))