Fix import resolution for direct execution

This commit is contained in:
2026-08-14 19:21:52 +05:00
parent 41722c0ffc
commit de8501045f
9 changed files with 60 additions and 30 deletions
+4 -2
View File
@@ -4,8 +4,10 @@ import asyncio
from datetime import datetime
from typing import Any, Optional
from aiogram import Bot
from loguru import logger
from .config import settings
try:
from .config import settings
except (ImportError, ValueError):
from config import settings
class AdminNotifier:
+6 -3
View File
@@ -4,9 +4,12 @@ import asyncio
import os
import time
from pathlib import Path
from loguru import logger
from .config import settings
from .media_processor import is_path_active
try:
from .config import settings
from .media_processor import is_path_active
except (ImportError, ValueError):
from config import settings
from media_processor import is_path_active
async def cleanup_stale_cache(max_age_minutes: Optional[int] = None) -> int:
+4 -2
View File
@@ -4,8 +4,10 @@ import json
from datetime import datetime
from typing import Any, Optional
import aiosqlite
from loguru import logger
from .config import settings
try:
from .config import settings
except (ImportError, ValueError):
from config import settings
class Database:
+18 -9
View File
@@ -5,15 +5,24 @@ import os
import signal
import sys
from typing import Any, Optional
from loguru import logger
from .admin_notifier import AdminNotifier
from .cleaner import cleanup_stale_cache, run_cleaner_loop
from .config import settings
from .database import Database
from .max_poster import MAXPoster
from .media_processor import MediaProcessor
from .tg_poster import TelegramPoster
from .vk_client import VKClient, VKPost
try:
from .admin_notifier import AdminNotifier
from .cleaner import cleanup_stale_cache, run_cleaner_loop
from .config import settings
from .database import Database
from .max_poster import MAXPoster
from .media_processor import MediaProcessor
from .tg_poster import TelegramPoster
from .vk_client import VKClient, VKPost
except (ImportError, ValueError):
from admin_notifier import AdminNotifier
from cleaner import cleanup_stale_cache, run_cleaner_loop
from config import settings
from database import Database
from max_poster import MAXPoster
from media_processor import MediaProcessor
from tg_poster import TelegramPoster
from vk_client import VKClient, VKPost
class ServiceApp:
+8 -4
View File
@@ -7,10 +7,14 @@ from pathlib import Path
from typing import Any, Optional
from urllib.parse import quote
import aiohttp
from loguru import logger
from .config import settings
from .media_processor import ProcessedMedia
from .text_formatter import format_post_text, split_message_chunks
try:
from .config import settings
from .media_processor import ProcessedMedia
from .text_formatter import format_post_text, split_message_chunks
except (ImportError, ValueError):
from config import settings
from media_processor import ProcessedMedia
from text_formatter import format_post_text, split_message_chunks
MAX_MESSAGE_LIMIT = 4000
MAX_MEDIA_ITEMS = 10
+4 -2
View File
@@ -9,8 +9,10 @@ from dataclasses import dataclass
from pathlib import Path
from typing import Any, Optional, Set
import aiohttp
from loguru import logger
from .config import settings
try:
from .config import settings
except (ImportError, ValueError):
from config import settings
# Global registry of paths currently being written / downloaded / processed
+4 -2
View File
@@ -2,8 +2,10 @@ from __future__ import annotations
import html
import re
from typing import Optional
from .config import settings
try:
from .config import settings
except (ImportError, ValueError):
from config import settings
def split_message_chunks(text: str, limit: int = 4000) -> list[str]:
+8 -4
View File
@@ -11,10 +11,14 @@ from aiogram.client.session.aiohttp import AiohttpSession
from aiogram.client.telegram import TelegramAPIServer
from aiogram.exceptions import TelegramRetryAfter
from aiogram.types import FSInputFile, InputMediaPhoto, InputMediaVideo
from loguru import logger
from .config import settings
from .media_processor import ProcessedMedia
from .text_formatter import format_post_text, split_message_chunks
try:
from .config import settings
from .media_processor import ProcessedMedia
from .text_formatter import format_post_text, split_message_chunks
except (ImportError, ValueError):
from config import settings
from media_processor import ProcessedMedia
from text_formatter import format_post_text, split_message_chunks
MAX_MEDIA_GROUP = 10
MAX_RICH_MEDIA = 50
+4 -2
View File
@@ -6,8 +6,10 @@ import time
from dataclasses import dataclass
from typing import Any, Optional
import aiohttp
from loguru import logger
from .config import settings
try:
from .config import settings
except (ImportError, ValueError):
from config import settings
class VKAPIError(RuntimeError):