Добавить docs/services/lxc208-manage/alert/utils.py
This commit is contained in:
parent
c0fe183843
commit
64e0b7f5ce
54
docs/services/lxc208-manage/alert/utils.py
Normal file
54
docs/services/lxc208-manage/alert/utils.py
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
import re
|
||||||
|
import html
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
|
||||||
|
def escape_html(text: str) -> str:
|
||||||
|
if text is None:
|
||||||
|
return ""
|
||||||
|
return html.escape(str(text))
|
||||||
|
|
||||||
|
|
||||||
|
def strip_html(text: str) -> str:
|
||||||
|
return re.sub("<[^>]+>", "", text)
|
||||||
|
|
||||||
|
|
||||||
|
def safe_int(value) -> Optional[int]:
|
||||||
|
try:
|
||||||
|
return int(float(value))
|
||||||
|
except (TypeError, ValueError):
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
def format_size(size_bytes) -> str:
|
||||||
|
if size_bytes is None:
|
||||||
|
return ""
|
||||||
|
|
||||||
|
try:
|
||||||
|
size_bytes = float(size_bytes)
|
||||||
|
except (TypeError, ValueError):
|
||||||
|
return str(size_bytes)
|
||||||
|
|
||||||
|
units = ["B", "KB", "MB", "GB", "TB", "PB"]
|
||||||
|
unit_index = 0
|
||||||
|
|
||||||
|
while size_bytes >= 1024 and unit_index < len(units) - 1:
|
||||||
|
size_bytes /= 1024
|
||||||
|
unit_index += 1
|
||||||
|
|
||||||
|
if unit_index == 0:
|
||||||
|
return f"{int(size_bytes)} {units[unit_index]}"
|
||||||
|
else:
|
||||||
|
return f"{size_bytes:.1f} {units[unit_index]}"
|
||||||
|
|
||||||
|
|
||||||
|
def plural_sectors(n: int) -> str:
|
||||||
|
n = abs(int(n))
|
||||||
|
if 11 <= n % 100 <= 19:
|
||||||
|
return "\u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u043a\u0442\u043e\u0440\u043e\u0432"
|
||||||
|
last = n % 10
|
||||||
|
if last == 1:
|
||||||
|
return "\u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0435\u043d\u043d\u044b\u0439 \u0441\u0435\u043a\u0442\u043e\u0440"
|
||||||
|
if 2 <= last <= 4:
|
||||||
|
return "\u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u043a\u0442\u043e\u0440\u0430"
|
||||||
|
return "\u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u043a\u0442\u043e\u0440\u043e\u0432"
|
||||||
Loading…
Reference in New Issue
Block a user