feat: filter site bodies before media upload

This commit is contained in:
Your Name
2026-08-10 22:52:23 +05:00
parent e5ef3fb9e8
commit aad9ee46eb
16 changed files with 127 additions and 61 deletions
+4 -4
View File
@@ -11,14 +11,14 @@ from aiogram.types import FSInputFile
from vk_parser_app.constants import MEDIA_STATUS_FAILED, MEDIA_STATUS_LINK_ONLY
from vk_parser_app.db import get_pool
from vk_parser_app.workers.vk_storage_uploader import TMP_DIR, TMP_PREFIX, TelegramStorageUploader
from vk_parser_app.workers.media_uploader import TMP_DIR, TMP_PREFIX, MediaUploader
def jlog(event: str, **payload: Any) -> None:
print(json.dumps({"event": event, **payload}, ensure_ascii=False, default=str), flush=True)
async def load_pending_videos(worker: TelegramStorageUploader, limit: int) -> list[dict[str, Any]]:
async def load_pending_videos(worker: MediaUploader, limit: int) -> list[dict[str, Any]]:
rows = await worker.pool.fetch(
"""
SELECT m.*, rp.original_url AS post_url
@@ -38,7 +38,7 @@ async def load_pending_videos(worker: TelegramStorageUploader, limit: int) -> li
return [dict(row) for row in rows]
async def send_video_to_storage(worker: TelegramStorageUploader, media: dict[str, Any], path: str) -> None:
async def send_video_to_storage(worker: MediaUploader, media: dict[str, Any], path: str) -> None:
caption = (
f"Backfill video media #{int(media['id'])} for raw_post #{int(media['raw_post_id'])}\n"
f'<a href="{html.escape(str(media.get("post_url") or ""), quote=True)}">source post</a>'
@@ -58,7 +58,7 @@ async def send_video_to_storage(worker: TelegramStorageUploader, media: dict[str
async def main() -> None:
limit = int(os.getenv("BACKFILL_LIMIT", "200"))
worker = TelegramStorageUploader()
worker = MediaUploader()
await worker.init()
videos = await load_pending_videos(worker, limit)
jlog("start", count=len(videos), limit=limit)