Mercurial > code > home > repos > video
view video_ingest.py @ 49:1bd17c2e5517 default tip
video.py must sign video urls for serve-files.js to serve them
author | drewp@bigasterisk.com |
---|---|
date | Fri, 06 Dec 2024 17:13:51 -0800 |
parents | 9e56e86a6814 |
children |
line wrap: on
line source
import asyncio from dataclasses import dataclass from typing import Any, Coroutine import dl_queue from video_file_store import VideoFileStore @dataclass class VideoIngest: store: VideoFileStore async def addContent(self, name: str, body: Coroutine[Any, Any, bytes]): await self.store.save(name, iter([await body])) async def ingestUrl(self, url: str, folder:str): outDir = self.store.top / folder.lstrip('/') #danger user input dl_queue.queue.put({'url': url, 'outDir': str(outDir)}) async def events(self): prev = None while True: p = dl_queue.pending() if p != prev: prev = p yield p await asyncio.sleep(1)