68 lines
2.6 KiB
Python
68 lines
2.6 KiB
Python
|
|
import json
|
|||
|
|
import logging
|
|||
|
|
|
|||
|
|
logging.basicConfig(level=logging.INFO)
|
|||
|
|
logger = logging.getLogger(__name__)
|
|||
|
|
|
|||
|
|
class SettingsService:
|
|||
|
|
"""Сервис для управления настройками и очистки данных сети."""
|
|||
|
|
|
|||
|
|
def __init__(self):
|
|||
|
|
self.subnet_file = "storage/devices/devices.json"
|
|||
|
|
self.wifi_file = "storage/wifi/wifi.json"
|
|||
|
|
|
|||
|
|
def clear_subnet(self) -> bool:
|
|||
|
|
"""Очищает данные узлов подсети в файле devices.json.
|
|||
|
|
|
|||
|
|
Returns:
|
|||
|
|
bool: True, если очистка успешна.
|
|||
|
|
|
|||
|
|
Raises:
|
|||
|
|
Exception: Если произошла ошибка при записи в файл.
|
|||
|
|
"""
|
|||
|
|
try:
|
|||
|
|
with open(self.subnet_file, "w") as f:
|
|||
|
|
json.dump([], f)
|
|||
|
|
logger.info("Данные узлов подсети успешно очищены")
|
|||
|
|
return True
|
|||
|
|
except Exception as e:
|
|||
|
|
logger.error(f"Ошибка очистки узлов подсети: {str(e)}")
|
|||
|
|
raise
|
|||
|
|
|
|||
|
|
def clear_wifi(self) -> bool:
|
|||
|
|
"""Очищает данные точек доступа Wi-Fi в файле wifi.json.
|
|||
|
|
|
|||
|
|
Returns:
|
|||
|
|
bool: True, если очистка успешна.
|
|||
|
|
|
|||
|
|
Raises:
|
|||
|
|
Exception: Если произошла ошибка при записи в файл.
|
|||
|
|
"""
|
|||
|
|
try:
|
|||
|
|
with open(self.wifi_file, "w") as f:
|
|||
|
|
json.dump([], f)
|
|||
|
|
logger.info("Данные точек доступа Wi-Fi успешно очищены")
|
|||
|
|
return True
|
|||
|
|
except Exception as e:
|
|||
|
|
logger.error(f"Ошибка очистки точек доступа Wi-Fi: {str(e)}")
|
|||
|
|
raise
|
|||
|
|
|
|||
|
|
def clear_all_data(self) -> bool:
|
|||
|
|
"""Очищает данные узлов подсети и точек доступа Wi-Fi в обоих файлах.
|
|||
|
|
|
|||
|
|
Returns:
|
|||
|
|
bool: True, если очистка успешна.
|
|||
|
|
|
|||
|
|
Raises:
|
|||
|
|
Exception: Если произошла ошибка при записи в один из файлов.
|
|||
|
|
"""
|
|||
|
|
try:
|
|||
|
|
with open(self.subnet_file, "w") as f:
|
|||
|
|
json.dump([], f)
|
|||
|
|
with open(self.wifi_file, "w") as f:
|
|||
|
|
json.dump([], f)
|
|||
|
|
logger.info("Все сетевые данные успешно очищены")
|
|||
|
|
return True
|
|||
|
|
except Exception as e:
|
|||
|
|
logger.error(f"Ошибка очистки всех сетевых данных: {str(e)}")
|
|||
|
|
raise
|