gitscope
← marzneshin / v0.6.3 / app/utils/system.py
https://dev.kronoz.win/r/marzneshin.git
app/utils/system.py · Python
Blame Raw
 1import math
 2import socket
 3
 4
 5def get_public_ip():
 6    try:
 7        sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
 8        sock.connect(("8.8.8.8", 80))
 9        return sock.getsockname()[0]
10    except (socket.error, IndexError):
11        pass
12    finally:
13        sock.close()
14
15    return "127.0.0.1"
16
17
18def readable_size(size_bytes):
19    if size_bytes == 0:
20        return "0 B"
21    size_name = ("B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB")
22    i = int(math.floor(math.log(size_bytes, 1024)))
23    p = math.pow(1024, i)
24    s = round(size_bytes / p, 2)
25    return f"{s} {size_name[i]}"