Добавлено логирование информации о системе при запуске приложения. Реализованы функции для определения операционной системы и проверки платформы (Windows, Linux, macOS). Обновлен .gitignore для исключения каталога images. Эти изменения помогут в отладке и улучшат информативность работы приложения.

This commit is contained in:
Vlad 2025-06-02 00:11:03 +03:00
parent f8d763920a
commit 3474fe5f96
2 changed files with 61 additions and 1 deletions

1
.gitignore vendored
View File

@ -9,3 +9,4 @@ wheels/
# Virtual environments
.venv
logs/
images/

59
main.py
View File

@ -2,6 +2,8 @@ import asyncio
from os import getenv
import logging
from datetime import datetime
import platform
import os
from aiogram import Bot, Dispatcher
from aiogram.filters import Command
@ -95,6 +97,57 @@ def escape_markdown(text: str) -> str:
return escaped_text
def get_operating_system() -> str:
"""
Определяет операционную систему на которой запущен код
Returns:
str: 'Windows', 'Linux', 'macOS' или 'Unknown'
"""
system = platform.system().lower()
if system == 'windows':
return 'Windows'
elif system == 'linux':
return 'Linux'
elif system == 'darwin':
return 'macOS'
else:
return f'Unknown ({system})'
def log_system_info():
"""
Логирует информацию о системе при запуске
"""
os_name = get_operating_system()
python_version = platform.python_version()
architecture = platform.machine()
logging.info(f"=== SYSTEM INFORMATION ===")
logging.info(f"Operating System: {os_name}")
logging.info(f"Platform: {platform.platform()}")
logging.info(f"Python Version: {python_version}")
logging.info(f"Architecture: {architecture}")
logging.info(f"Node Name: {platform.node()}")
logging.info(f"os.name: {os.name}")
logging.info(f"=== END SYSTEM INFO ===")
def is_windows() -> bool:
"""Проверяет, запущен ли код на Windows"""
return get_operating_system() == 'Windows'
def is_linux() -> bool:
"""Проверяет, запущен ли код на Linux"""
return get_operating_system() == 'Linux'
def is_macos() -> bool:
"""Проверяет, запущен ли код на macOS"""
return get_operating_system() == 'macOS'
if getenv("DEBUG",'0') == '1':
logging.basicConfig(level=logging.INFO)
else:
@ -111,6 +164,11 @@ CHECK_PRICE = getenv("CHECK_PRICE",10)
IMG_PRICE = getenv("IMG_PRICE",100)
if is_windows():
image_path = "D:\\SALVAGEDB\\salvagedb_bot\\images"
else:
image_path = "/images/"
oracle_db = OracleDatabase(
user= getenv("db_user"),
@ -835,6 +893,7 @@ async def successful_payment_handler(message: Message, db: OracleDatabase = None
async def on_startup():
log_system_info() # Логируем информацию о системе
await oracle_db.connect()
# Регистрируем middleware для всех типов событий
dp.message.middleware(DbSessionMiddleware(oracle_db))