init commit

This commit is contained in:
2025-08-30 10:33:46 +09:00
commit 49b3cea942
304 changed files with 116485 additions and 0 deletions

73
test_reboot.py Normal file
View File

@@ -0,0 +1,73 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Скрипт для тестирования функции перезагрузки Synology NAS
"""
import os
import sys
import logging
from pathlib import Path
# Добавляем путь проекта в sys.path
project_dir = str(Path(__file__).resolve().parent)
if project_dir not in sys.path:
sys.path.insert(0, project_dir)
from src.api.synology import SynologyAPI
from src.config.config import SYNOLOGY_POWER_API, SYNOLOGY_INFO_API, SYNOLOGY_API_VERSION
# Настройка логирования
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger(__name__)
def main():
"""Основная функция для тестирования перезагрузки"""
logger.info("Тестирование функции перезагрузки Synology NAS")
logger.info(f"Используемые API: POWER={SYNOLOGY_POWER_API}, INFO={SYNOLOGY_INFO_API}, VERSION={SYNOLOGY_API_VERSION}")
# Инициализация API
synology = SynologyAPI()
# Проверка онлайн статуса
logger.info("Проверка онлайн статуса...")
is_online = synology.is_online(force_check=True)
logger.info(f"Статус: {'Онлайн' if is_online else 'Оффлайн'}")
if not is_online:
logger.error("NAS недоступен. Невозможно выполнить перезагрузку.")
return
# Вывод информации о системе
logger.info("Получение информации о системе...")
system_info = synology.get_system_status()
if system_info.get("status") == "error":
logger.error(f"Ошибка получения информации о системе: {system_info.get('error')}")
else:
logger.info(f"Информация о системе: {system_info}")
# Запрос на подтверждение действия
confirm = input("Вы действительно хотите перезагрузить Synology NAS? (y/n): ")
if confirm.lower() != 'y':
logger.info("Операция отменена пользователем.")
return
# Выполнение перезагрузки
logger.info("Выполнение перезагрузки...")
try:
result = synology.reboot_system()
if result:
logger.info("Перезагрузка выполнена успешно.")
else:
logger.error("Не удалось выполнить перезагрузку.")
except Exception as e:
logger.error(f"Ошибка при выполнении перезагрузки: {str(e)}")
if __name__ == "__main__":
main()