Spaces:
Sleeping
Sleeping
File size: 1,706 Bytes
426ff68 99a7487 426ff68 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
import time
import psutil
import platform
import datetime
from bot import StartTime
def get_readable_time(seconds: int) -> str:
count = 0
readable_time = ""
time_list = []
time_suffix_list = ["s", "m", "h", " days"]
while count < 4:
count += 1
if count < 3:
remainder, result = divmod(seconds, 60)
else:
remainder, result = divmod(seconds, 24)
if seconds == 0 and remainder == 0:
break
time_list.append(int(result))
seconds = int(remainder)
for x in range(len(time_list)):
time_list[x] = str(time_list[x]) + time_suffix_list[x]
if len(time_list) == 4:
readable_time += time_list.pop() + ", "
time_list.reverse()
readable_time += ": ".join(time_list)
return readable_time
def get_system_info():
# Basic OS info
os_info = f"{platform.system()} {platform.release()}"
kernel = platform.version()
cpu = platform.processor() or "N/A"
# Memory info (in GB)
mem = psutil.virtual_memory()
total_memory = mem.total / (1024 ** 3)
# Uptime (you could also use psutil.boot_time() if preferred)
uptime_seconds = time.time() - StartTime
uptime_str = str(datetime.timedelta(seconds=int(uptime_seconds)))
# Load average (Unix only; for Windows, consider alternatives)
try:
load = psutil.getloadavg()
load_str = f"{load[0]:.2f}, {load[1]:.2f}, {load[2]:.2f}"
except AttributeError:
load_str = "N/A"
return {
"os": os_info,
"kernel": kernel,
"cpu": cpu,
"memory": f"{total_memory:.2f} GB",
"uptime": uptime_str,
"load": load_str
} |