gonets/SRV/services/settings_service.py
2025-06-26 17:49:21 +05:00

68 lines
No EOL
2.6 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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