Use poster token for VK source resolve fallback
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user