From 2bcf5f38bf0877f73e98849914cdc42e6695efc6 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 3 Aug 2026 18:25:33 +0500 Subject: [PATCH] Use poster token for VK source resolve fallback --- src/vk_parser_app/admin.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/vk_parser_app/admin.py b/src/vk_parser_app/admin.py index c778db2..a310d08 100644 --- a/src/vk_parser_app/admin.py +++ b/src/vk_parser_app/admin.py @@ -952,7 +952,8 @@ async def build_sources_preview(lines_text: str, default_active: bool = True) -> seen: set[str] = set() seen_tags: set[str] = set() - async with VKAPIClient(rps=2, timeout_total_sec=12, timeout_connect_sec=5, retry_attempts=2) as client: + resolve_token = await vk_resolve_token() + async with VKAPIClient(token=resolve_token, rps=2, timeout_total_sec=12, timeout_connect_sec=5, retry_attempts=2) as client: preview = [] for idx, item in enumerate(parsed, start=1): url = item.get("url") or "" @@ -997,6 +998,14 @@ async def build_sources_preview(lines_text: str, default_active: bool = True) -> return preview +async def vk_resolve_token() -> str: + return ( + settings.vk_access_token.strip() + or str(await fetch_setting("vk_poster_access_token", "") or "").strip() + or settings.vk_group_access_token.strip() + ) + + def pipeline_stage(post: dict[str, Any]) -> dict[str, str]: status = str(post.get("status") or "") qualification_status = str(post.get("qualification_status") or "").strip().lower() @@ -2317,7 +2326,7 @@ async def source_create( status_msg = None if platform == PLATFORM_VK and external_id: try: - async with VKAPIClient(rps=2, timeout_total_sec=12, timeout_connect_sec=5, retry_attempts=2) as client: + async with VKAPIClient(token=await vk_resolve_token(), rps=2, timeout_total_sec=12, timeout_connect_sec=5, retry_attempts=2) as client: screen_name, owner_id, vk_name = await client.resolve_group(url) external_id = screen_name external_owner_id = owner_id