コード例 #1
0
def test_tob():
    actual = tob('123')
    expected = b'123'
    assert actual == expected
    actual = tob('你好')
    expected = '你好'.encode('utf8')
    assert actual == expected
コード例 #2
0
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
コード例 #3
0
ファイル: fernet.py プロジェクト: P79N6A/xTool
def decrypt(key, ciphertext):
    """基于AES的解密操作 ."""
    f = Fernet(tob(key))
    return f.decrypt(tob(ciphertext)).decode('utf-8')
コード例 #4
0
ファイル: fernet.py プロジェクト: P79N6A/xTool
def encrypt(key, plaintext):
    """基于AES的加密操作 ."""
    f = Fernet(tob(key))
    return f.encrypt(tob(plaintext)).decode('utf-8')
コード例 #5
0
ファイル: json_codec.py プロジェクト: fengzhongzhu1621/xTool
 def decode(cls, data: Union[str, bytes]) -> object:
     return json.loads(tob(data))
コード例 #6
0
ファイル: test_misc.py プロジェクト: fengzhongzhu1621/xTool
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
コード例 #7
0
 def decode(cls, data: Union[str, bytes]) -> object:
     if not data:
         return data
     return pickle.loads(tob(data))