75 lines
2.2 KiB
Python
75 lines
2.2 KiB
Python
import psutil
|
|
import shutil
|
|
from whether import Whether
|
|
from scp import SCP
|
|
from random import randint
|
|
from unknown_unswers import (
|
|
UNKNOWN_ANSWER,
|
|
UNKNOWN_PENTA,
|
|
UNKNOWN_TRIPLE
|
|
)
|
|
|
|
unknown_count = 0
|
|
|
|
def weather_request() -> str:
|
|
global unknown_count
|
|
unknown_count = 0
|
|
wh = Whether("Санкт-Петербург")
|
|
ret = wh.get_weather()
|
|
|
|
return ret
|
|
|
|
def system_request() -> str:
|
|
global unknown_count
|
|
unknown_count = 0
|
|
ret = "Использование CPU: " + str(psutil.cpu_percent(interval=1)) + "%\n"
|
|
|
|
ram = psutil.virtual_memory()
|
|
|
|
ret += "Использование RAM: " + str(ram.percent) + "%\n"
|
|
ret += "Использовано RAM: " + str(round(ram.used / 1e9, 2)) + "ГБ\n"
|
|
|
|
total, used, free = shutil.disk_usage("/")
|
|
|
|
ret += "Использование диска:\n"
|
|
ret += "Всего: %d ГБ" % (total // (2**30)) + "\n"
|
|
ret += "Использовано: %d ГБ" % (used // (2**30)) + "\n"
|
|
ret += "Свободно: %d ГБ" % (free // (2**30)) + "\n"
|
|
|
|
return ret
|
|
|
|
def unknown_request() -> str:
|
|
global unknown_count
|
|
unknown_count += 1
|
|
print(f"[DEBUG] UNKNOWN COUNT = {unknown_count}")
|
|
|
|
if unknown_count < 3:
|
|
num = randint(0, len(UNKNOWN_ANSWER) - 1)
|
|
return UNKNOWN_ANSWER[num]
|
|
elif unknown_count < 5:
|
|
num = randint(0, len(UNKNOWN_TRIPLE) - 1)
|
|
return UNKNOWN_TRIPLE[num]
|
|
elif unknown_count >= 5:
|
|
num = randint(0, len(UNKNOWN_PENTA) - 1)
|
|
return UNKNOWN_PENTA[num]
|
|
|
|
def help_request() -> str:
|
|
ret = "\n\nМеню:\n" \
|
|
"1. Сервер — Данные об использовании сервера.\n" \
|
|
"2. Погода в <город> — Погода в городе.=(тестово).\n" \
|
|
"3. SCP — Выдача случайного объекта фонда для чтения.\n" \
|
|
"4. SCP классы — Описание классов.\n\n" \
|
|
"Можете писать слова(Пример: Сервер) или цифрой(Пример: 1)."
|
|
|
|
return ret
|
|
|
|
def scp_request() -> str:
|
|
global unknown_count
|
|
unknown_count = 0
|
|
scp = SCP()
|
|
return scp.get_text()
|
|
|
|
def scp_classed() -> str:
|
|
global unknown_count
|
|
unknown_count = 0
|
|
return SCP.get_classified() |