feat: filter site bodies before media upload
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user