105 Commits

Author SHA1 Message Date
Erik Thuning
6c48c103b1 The format for a course has changed, updated the thumbnail generation logic to match 2023-04-14 11:16:07 +02:00
Erik Thuning
b15bcfb652 Temporarily(?) removed the requirement of at least one video stream having to play audio 2023-04-14 11:15:11 +02:00
Erik Thuning
8582e32f1d Finished updating docstrings to conform to convention. Also made abstract methods throw an exception if they get called. 2023-03-28 16:43:45 +02:00
Erik Thuning
132f657ddb Fixed docstrings to follow convention 2023-03-27 17:20:47 +02:00
Erik Thuning
5dcc856177 Moved some functions from utils into more logical places, and opportunistically fixed docstrings to follow the convention 2023-03-27 17:01:59 +02:00
Erik Thuning
278fe30b02 Refactored subtitles handling to include generation via whisper. 2023-03-27 16:36:27 +02:00
Erik Thuning
826f548e63 Create a temporary copy of the existing package state,
send that to _handle() methods and clean up after handling is done.
2023-03-15 11:04:24 +01:00
Erik Thuning
b1c74aa86b Added existing package data to handler input 2023-03-14 16:54:04 +01:00
Erik Thuning
b8834ce7d6 Renamed utils.ffmpegjob to utils.asyncjob in preparation for also running whisper jobs through the same function 2023-03-10 15:45:00 +01:00
Erik Thuning
f006df7149 Abstract methods now raise NotImplementedError; properly log errors in subprocesses 2022-12-07 14:06:17 +01:00
Erik Thuning
905d7f2f01 Fixed various slop so tests pass 2022-10-31 14:16:04 +01:00
Erik Thuning
be6a7877d7 Refactored poster handling to always be done in PosterHandler.
Also improved docstrings and implemented removal of superseded
video and poster files.
2022-10-28 14:18:24 +02:00
Erik Thuning
dac19f6f7f Added the option of multiple subtitle tracks 2022-10-28 11:20:47 +02:00
Erik Thuning
1957b59e85 The poster handler now generates posters for existing streams if
the job contains a falsy 'poster' value for a stream with
no 'video' key.
2022-10-24 16:54:48 +02:00
Erik Thuning
6291b66c86 Capitalized all sections in config
Implemented HTTP notification
2022-10-24 16:47:24 +02:00
Erik Thuning
0b06690a38 * Completed ThumbnailHandler
* Simplified writing Package to json
* Collector now accepts Handler objects instead of name strings
* Refactored Handler._handle() and its invocation from _process():
 - _handle() now returns apply_func
 - boilerplate moved into Handler._process()
 - Handlers can require other handlers to finish before them
2022-10-22 00:19:03 +02:00
Erik Thuning
3716d3dc0b Revert "Forgot to remove an import"
This reverts commit 5734d954a6331791a963d21d08dd74aed1280829.
2022-10-21 16:34:59 +02:00
Erik Thuning
1a5cade01d Didn't read the docs properly, my solution was correct from the beginning
This reverts commit a12374b35259cc5c3a9152de6b32c2ede093f2fa.
2022-10-21 16:34:18 +02:00
Erik Thuning
5734d954a6 Forgot to remove an import 2022-10-21 16:24:26 +02:00
Erik Thuning
a494322a08 Don't need fallbacks for package keys anymore 2022-10-21 15:31:28 +02:00
Erik Thuning
a12374b352 Found the proper way to provide a fallback on missing configparser section 2022-10-21 15:29:50 +02:00
Erik Thuning
a1af06fae8 Added thumbnail generation handler 2022-10-21 14:43:21 +02:00
Erik Thuning
ac1a1d9fbf Tyop fixes 2022-10-21 14:40:27 +02:00
Erik Thuning
0f3da0a717 Async jobs now have a centralized function in Handler. 2022-10-21 10:59:58 +02:00
Erik Thuning
9e51321e6a Implemented poster handler 2022-10-20 22:35:16 +02:00
Erik Thuning
9cc0efd433 Forgot to add the poster to the metadata 2022-10-20 22:34:50 +02:00
Erik Thuning
b15045eb13 Removed unnecessary import 2022-10-20 21:08:07 +02:00
Erik Thuning
58a7362820 Activated slides handler 2022-10-20 17:01:17 +02:00
Erik Thuning
782f994125 Typo 2022-10-20 16:51:13 +02:00
Erik Thuning
1ccd27d65a Implemented slide handler,
moved ffmpeg invocations to utils.py,
moved duration handling to Package class.
2022-10-20 16:49:31 +02:00
Erik Thuning
d609173dca Revert "Hander.validate() is now a no-op"
This reverts commit c0d8307bb126039c7931025b1ff75ea656818938.
2022-10-20 14:13:07 +02:00
Erik Thuning
cdc3af2187 Worker pool is now shared between handlers 2022-10-20 13:25:13 +02:00
Erik Thuning
a6c714de33 TranscodeHandler now uses a multiprocessing pool for transcode jobs 2022-10-19 17:04:30 +02:00
Erik Thuning
83b3ca4900 Shorter dict accesses 2022-10-19 16:22:11 +02:00
Erik Thuning
9c5744d686 Error fixes 2022-10-19 10:19:48 +02:00
Erik Thuning
f305b57811 Duration is now computed from the streams instead of passed by the user 2022-10-18 14:25:36 +02:00
Erik Thuning
917b8f133c Efficiency 2022-10-18 14:25:18 +02:00
Erik Thuning
89316f8024 Docstring shouldn't lie 2022-10-18 14:24:08 +02:00
Erik Thuning
3001c9fb7a streams key now always exists in a package 2022-10-18 14:23:29 +02:00
Erik Thuning
3850b518fc Added audio handler, reordered handler imports and list to alphabetical 2022-10-18 14:21:11 +02:00
Erik Thuning
ef6bd5831d Moving to dataclasses for complex queue items 2022-10-17 17:10:16 +02:00
Erik Thuning
7d403d15cc Minor fixes 2022-10-17 13:18:58 +02:00
Erik Thuning
c0d8307bb1 Hander.validate() is now a no-op 2022-10-14 16:32:19 +02:00
Erik Thuning
1004afa958 Removed unused imports 2022-10-14 15:55:18 +02:00
Erik Thuning
21750aa9d2 Restructured config passing 2022-10-14 15:15:55 +02:00
Erik Thuning
725c221ee9 TODO stuff 2022-10-13 17:05:20 +02:00
Erik Thuning
98dd209370 Shortened the file names of handlers and added commented entries for coming handler types 2022-10-07 14:37:54 +02:00
Erik Thuning
4e08ca3e24 Now passing optional configuration to each handler 2022-10-07 13:40:48 +02:00
Erik Thuning
f8cde16001 Started work on preprocessors 2022-10-03 16:37:56 +02:00
Erik Thuning
e888ec4f65 Cleanup 2022-10-03 14:30:47 +02:00