Mercurial > code > home > repos > video
comparison video.py @ 18:1b388ee5dd09
reformat
author | drewp@bigasterisk.com |
---|---|
date | Mon, 17 Apr 2023 00:41:25 -0700 |
parents | 071943adf000 |
children | cf6842952e13 |
comparison
equal
deleted
inserted
replaced
17:071943adf000 | 18:1b388ee5dd09 |
---|---|
12 from sse_starlette.sse import EventSourceResponse | 12 from sse_starlette.sse import EventSourceResponse |
13 | 13 |
14 from video_file_store import VideoFileStore | 14 from video_file_store import VideoFileStore |
15 from video_ingest import VideoIngest | 15 from video_ingest import VideoIngest |
16 import dl_queue | 16 import dl_queue |
17 | |
17 logging.basicConfig(level=logging.DEBUG) | 18 logging.basicConfig(level=logging.DEBUG) |
18 log = logging.getLogger() | 19 log = logging.getLogger() |
19 logging.getLogger('sse_starlette').setLevel(logging.WARNING) | 20 logging.getLogger('sse_starlette').setLevel(logging.WARNING) |
20 | 21 |
21 | 22 |
48 await svc.addContent(name, req.body()) | 49 await svc.addContent(name, req.body()) |
49 return Response(status_code=200) | 50 return Response(status_code=200) |
50 | 51 |
51 | 52 |
52 async def ingestQueue(req: Request) -> EventSourceResponse: | 53 async def ingestQueue(req: Request) -> EventSourceResponse: |
54 | |
53 async def g(): | 55 async def g(): |
54 async for ev in svc.events(): | 56 async for ev in svc.events(): |
55 yield json.dumps(ev) | 57 yield json.dumps(ev) |
58 | |
56 return EventSourceResponse(g()) | 59 return EventSourceResponse(g()) |
57 | 60 |
58 | 61 |
59 store = VideoFileStore(top=Path('/data')) | 62 store = VideoFileStore(top=Path('/data')) |
60 svc = VideoIngest(store) | 63 svc = VideoIngest(store) |
64 | |
61 | 65 |
62 def main(): | 66 def main(): |
63 | 67 |
64 app = Starlette( | 68 app = Starlette( |
65 debug=True, | 69 debug=True, |
76 ], | 80 ], |
77 ) | 81 ) |
78 | 82 |
79 app.add_middleware(PrometheusMiddleware, app_name='video_api') | 83 app.add_middleware(PrometheusMiddleware, app_name='video_api') |
80 app.add_route("/metrics", handle_metrics) | 84 app.add_route("/metrics", handle_metrics) |
81 | 85 |
82 app.state.processTask = asyncio.create_task(dl_queue.process()) | 86 app.state.processTask = asyncio.create_task(dl_queue.process()) |
83 return app | 87 return app |
84 | 88 |
85 | 89 |
86 app = main() | 90 app = main() |