Fix import resolution for direct execution
This commit is contained in:
@@ -4,8 +4,10 @@ import asyncio
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Any, Optional
|
from typing import Any, Optional
|
||||||
from aiogram import Bot
|
from aiogram import Bot
|
||||||
from loguru import logger
|
try:
|
||||||
from .config import settings
|
from .config import settings
|
||||||
|
except (ImportError, ValueError):
|
||||||
|
from config import settings
|
||||||
|
|
||||||
|
|
||||||
class AdminNotifier:
|
class AdminNotifier:
|
||||||
|
|||||||
+6
-3
@@ -4,9 +4,12 @@ import asyncio
|
|||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from loguru import logger
|
try:
|
||||||
from .config import settings
|
from .config import settings
|
||||||
from .media_processor import is_path_active
|
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:
|
async def cleanup_stale_cache(max_age_minutes: Optional[int] = None) -> int:
|
||||||
|
|||||||
+4
-2
@@ -4,8 +4,10 @@ import json
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Any, Optional
|
from typing import Any, Optional
|
||||||
import aiosqlite
|
import aiosqlite
|
||||||
from loguru import logger
|
try:
|
||||||
from .config import settings
|
from .config import settings
|
||||||
|
except (ImportError, ValueError):
|
||||||
|
from config import settings
|
||||||
|
|
||||||
|
|
||||||
class Database:
|
class Database:
|
||||||
|
|||||||
+18
-9
@@ -5,15 +5,24 @@ import os
|
|||||||
import signal
|
import signal
|
||||||
import sys
|
import sys
|
||||||
from typing import Any, Optional
|
from typing import Any, Optional
|
||||||
from loguru import logger
|
try:
|
||||||
from .admin_notifier import AdminNotifier
|
from .admin_notifier import AdminNotifier
|
||||||
from .cleaner import cleanup_stale_cache, run_cleaner_loop
|
from .cleaner import cleanup_stale_cache, run_cleaner_loop
|
||||||
from .config import settings
|
from .config import settings
|
||||||
from .database import Database
|
from .database import Database
|
||||||
from .max_poster import MAXPoster
|
from .max_poster import MAXPoster
|
||||||
from .media_processor import MediaProcessor
|
from .media_processor import MediaProcessor
|
||||||
from .tg_poster import TelegramPoster
|
from .tg_poster import TelegramPoster
|
||||||
from .vk_client import VKClient, VKPost
|
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:
|
class ServiceApp:
|
||||||
|
|||||||
+8
-4
@@ -7,10 +7,14 @@ from pathlib import Path
|
|||||||
from typing import Any, Optional
|
from typing import Any, Optional
|
||||||
from urllib.parse import quote
|
from urllib.parse import quote
|
||||||
import aiohttp
|
import aiohttp
|
||||||
from loguru import logger
|
try:
|
||||||
from .config import settings
|
from .config import settings
|
||||||
from .media_processor import ProcessedMedia
|
from .media_processor import ProcessedMedia
|
||||||
from .text_formatter import format_post_text, split_message_chunks
|
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_MESSAGE_LIMIT = 4000
|
||||||
MAX_MEDIA_ITEMS = 10
|
MAX_MEDIA_ITEMS = 10
|
||||||
|
|||||||
@@ -9,8 +9,10 @@ from dataclasses import dataclass
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any, Optional, Set
|
from typing import Any, Optional, Set
|
||||||
import aiohttp
|
import aiohttp
|
||||||
from loguru import logger
|
try:
|
||||||
from .config import settings
|
from .config import settings
|
||||||
|
except (ImportError, ValueError):
|
||||||
|
from config import settings
|
||||||
|
|
||||||
|
|
||||||
# Global registry of paths currently being written / downloaded / processed
|
# Global registry of paths currently being written / downloaded / processed
|
||||||
|
|||||||
@@ -2,8 +2,10 @@ from __future__ import annotations
|
|||||||
|
|
||||||
import html
|
import html
|
||||||
import re
|
import re
|
||||||
from typing import Optional
|
try:
|
||||||
from .config import settings
|
from .config import settings
|
||||||
|
except (ImportError, ValueError):
|
||||||
|
from config import settings
|
||||||
|
|
||||||
|
|
||||||
def split_message_chunks(text: str, limit: int = 4000) -> list[str]:
|
def split_message_chunks(text: str, limit: int = 4000) -> list[str]:
|
||||||
|
|||||||
+8
-4
@@ -11,10 +11,14 @@ from aiogram.client.session.aiohttp import AiohttpSession
|
|||||||
from aiogram.client.telegram import TelegramAPIServer
|
from aiogram.client.telegram import TelegramAPIServer
|
||||||
from aiogram.exceptions import TelegramRetryAfter
|
from aiogram.exceptions import TelegramRetryAfter
|
||||||
from aiogram.types import FSInputFile, InputMediaPhoto, InputMediaVideo
|
from aiogram.types import FSInputFile, InputMediaPhoto, InputMediaVideo
|
||||||
from loguru import logger
|
try:
|
||||||
from .config import settings
|
from .config import settings
|
||||||
from .media_processor import ProcessedMedia
|
from .media_processor import ProcessedMedia
|
||||||
from .text_formatter import format_post_text, split_message_chunks
|
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_MEDIA_GROUP = 10
|
||||||
MAX_RICH_MEDIA = 50
|
MAX_RICH_MEDIA = 50
|
||||||
|
|||||||
+4
-2
@@ -6,8 +6,10 @@ import time
|
|||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import Any, Optional
|
from typing import Any, Optional
|
||||||
import aiohttp
|
import aiohttp
|
||||||
from loguru import logger
|
try:
|
||||||
from .config import settings
|
from .config import settings
|
||||||
|
except (ImportError, ValueError):
|
||||||
|
from config import settings
|
||||||
|
|
||||||
|
|
||||||
class VKAPIError(RuntimeError):
|
class VKAPIError(RuntimeError):
|
||||||
|
|||||||
Reference in New Issue
Block a user