#!/usr/bin/env python3
"""
Скрипт для быстрого тестирования проекта.
Проверяет, что все модули загружаются и основные функции работают.
"""
import sys
import asyncio
from pathlib import Path
# Проверяем структуру проекта
print("\n" + "=" * 60)
print("🔍 ПРОВЕРКА СТРУКТУРЫ ПРОЕКТА")
print("=" * 60 + "\n")
required_files = [
"deepseek_client.py",
"requirements.txt",
"README.md",
".env",
"modules/__init__.py",
"modules/config.py",
"modules/weather_api.py",
"modules/deepseek_api.py",
"modules/file_api.py",
]
base_path = Path(__file__).parent
all_exist = True
for file in required_files:
file_path = base_path / file
exists = "✅" if file_path.exists() else "❌"
size = f"({file_path.stat().st_size} bytes)" if file_path.exists() else ""
print(f"{exists} {file:<35} {size}")
if not file_path.exists():
all_exist = False
print("\n" + "=" * 60)
print("🐍 ПРОВЕРКА ИМПОРТОВ МОДУЛЕЙ")
print("=" * 60 + "\n")
try:
print("Загружаю modules.config...")
from modules.config import Config
print("✅ modules.config загружен успешно\n")
print("Загружаю modules.weather_api...")
from modules.weather_api import get_current_weather, get_forecast, make_weather_request
print("✅ modules.weather_api загружен успешно\n")
print("Загружаю modules.deepseek_api...")
from modules.deepseek_api import get_weather_response, call_deepseek_with_tools
print("✅ modules.deepseek_api загружен успешно\n")
print("Загружаю modules.file_api...")
from modules.file_api import read_file, create_file, update_file, append_to_file, delete_file, list_files
print("✅ modules.file_api загружен успешно\n")
print("=" * 60)
print("✅ ВСЕ МОДУЛИ ЗАГРУЖЕНЫ УСПЕШНО!")
print("=" * 60)
except Exception as e:
print(f"❌ ОШИБКА при загрузке модулей: {e}")
import traceback
traceback.print_exc()
sys.exit(1)
# Проверяем конфигурацию
print("\n" + "=" * 60)
print("⚙️ ПРОВЕРКА КОНФИГУРАЦИИ")
print("=" * 60 + "\n")
if Config.validate():
print("✅ Конфигурация валидна\n")
print(Config.get_config_summary())
else:
print("❌ Ошибка конфигурации. Проверьте файл .env")
sys.exit(1)
print("\n" + "=" * 60)
print("📋 ДОСТУПНЫЕ ФУНКЦИИ")
print("=" * 60 + "\n")
functions = {
"Weather": ["get_current_weather", "get_forecast", "make_weather_request"],
"Deepseek": ["get_weather_response", "call_deepseek_with_tools"],
"File Operations": ["read_file", "create_file", "update_file", "append_to_file", "delete_file", "list_files"],
}
for category, funcs in functions.items():
print(f"\n{category}:")
for func in funcs:
print(f" ✅ {func}")
print("\n" + "=" * 60)
print("✅ ПРОЕКТ ГОТОВ К ИСПОЛЬЗОВАНИЮ!")
print("=" * 60)
print("\nДля запуска приложения выполните:")
print(" python3 deepseek_client.py")
print("\nДля просмотра примеров файловых операций:")
print(" cat FILE_OPERATIONS_EXAMPLES.py")
print("\n" + "=" * 60 + "\n")