This commit is contained in:
Brage Skjønborg 2026-02-01 23:29:33 +01:00
parent 3339f9a2ce
commit dcad56a4b4
16 changed files with 32 additions and 23 deletions

View File

@ -30,7 +30,7 @@ class MediaCreateMetadataSearchTaskListener: EventListener() {
val startedEvent = history.filterIsInstance<StartProcessingEvent>().firstOrNull() ?: return null
if (startedEvent.data.operation.isNotEmpty()) {
if (!startedEvent.data.operation.contains(OperationType.Metadata))
if (!startedEvent.data.operation.contains(OperationType.MetadataSearch))
return null
}

View File

@ -23,7 +23,7 @@ class StartedListener : EventListener() {
OperationType.ExtractSubtitles,
OperationType.ConvertSubtitles,
OperationType.Encode,
OperationType.Metadata
OperationType.MetadataSearch
)
)
)

View File

@ -46,7 +46,7 @@ open class TestBase {
fun defaultStartEvent(): StartProcessingEvent {
val start = StartProcessingEvent(
data = StartData(
operation = setOf(OperationType.Encode, OperationType.ExtractSubtitles, OperationType.ConvertSubtitles, OperationType.Metadata),
operation = setOf(OperationType.Encode, OperationType.ExtractSubtitles, OperationType.ConvertSubtitles, OperationType.MetadataSearch),
fileUri = "file:///unit/${UUID.randomUUID()}.mkv"
)
).apply { newReferenceId() }

View File

@ -78,7 +78,7 @@ class CollectEventsListenerTest : TestBase() {
ev.copy(
data = ev.data.copy(
operation = setOf(
OperationType.Metadata,
OperationType.MetadataSearch,
OperationType.Encode,
OperationType.ExtractSubtitles
)
@ -123,7 +123,7 @@ class CollectEventsListenerTest : TestBase() {
ev.copy(
data = ev.data.copy(
operation = setOf(
OperationType.Metadata,
OperationType.MetadataSearch,
OperationType.ConvertSubtitles
)
)

View File

@ -1,16 +1,19 @@
package no.iktdev.mediaprocessing.processer
package no.iktdev.mediaprocessing.processer.config
import no.iktdev.exfl.using
import no.iktdev.mediaprocessing.processer.config.DirectoryProperties
import no.iktdev.mediaprocessing.shared.common.configs.MediaPaths
import org.springframework.stereotype.Component
import java.io.File
@Suppress("SENSELESS_COMPARISON")
@Component
class FileUtil(
private val dirs: DirectoryProperties,
private val mediaPaths: MediaPaths
) {
init {
assert(dirs.logs != null)
}
fun getTemporaryStoreFile(fileName: String): File =
File(mediaPaths.cache).using(fileName)

View File

@ -9,7 +9,7 @@ import no.iktdev.eventi.tasks.TaskType
import no.iktdev.exfl.using
import no.iktdev.mediaprocessing.ffmpeg.FFmpeg
import no.iktdev.mediaprocessing.ffmpeg.arguments.MpegArgument
import no.iktdev.mediaprocessing.processer.FileUtil
import no.iktdev.mediaprocessing.processer.config.FileUtil
import no.iktdev.mediaprocessing.processer.config.ExecutablesConfig
import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.ProcesserExtractResultEvent
import no.iktdev.mediaprocessing.shared.common.event_task_contract.tasks.ExtractSubtitleTask

View File

@ -11,7 +11,7 @@ import no.iktdev.mediaprocessing.ffmpeg.FFmpeg
import no.iktdev.mediaprocessing.ffmpeg.arguments.MpegArgument
import no.iktdev.mediaprocessing.ffmpeg.decoder.FfmpegDecodedProgress
import no.iktdev.mediaprocessing.processer.CoordinatorClient
import no.iktdev.mediaprocessing.processer.FileUtil
import no.iktdev.mediaprocessing.processer.config.FileUtil
import no.iktdev.mediaprocessing.processer.LocalProgressCache
import no.iktdev.mediaprocessing.processer.config.ExecutablesConfig
import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.ProcesserEncodeResultEvent

View File

@ -26,17 +26,17 @@ logging:
media:
cache: ${DIRECTORY_CONTENT_CACHE:/src/cache}
cache: /src/cache
outgoing: /src/output
incoming: /src/input
processer:
coordinator-url: ${COORDINATOR_URL:http://coordinator:8080}
coordinator-url: http://coordinator:8080
coordinator-ping-on-startup: true
allow-overwrite: ${ALLOW_OVERWRITE:false}
allow-overwrite: false
executables:
ffmpeg: ${SUPPORTING_EXECUTABLE_FFMPEG:ffmpeg}
ffmpeg: ffmpeg
directories:
logs: ${LOG_DIR:/data/logs}
logs: /data/logs

View File

@ -4,6 +4,7 @@ import no.iktdev.eventi.models.Event
import no.iktdev.eventi.models.Task
import no.iktdev.mediaprocessing.processer.config.DirectoryProperties
import no.iktdev.mediaprocessing.processer.config.ExecutablesConfig
import no.iktdev.mediaprocessing.processer.config.FileUtil
import no.iktdev.mediaprocessing.shared.common.configs.MediaPaths
import org.junit.jupiter.api.Assertions.assertEquals

View File

@ -41,9 +41,9 @@ executables:
ffmpeg: ffmpeg
processer:
coordinator-url: ${COORDINATOR_URL:http://coordinator:8080}
coordinator-url: http://coordinator:8080
coordinator-ping-on-startup: false
allow-overwrite: ${ALLOW_OVERWRITE:false}
allow-overwrite: false
directories:
logs: build/test-logs

View File

@ -50,6 +50,7 @@ enum class MediaActionType(val label: String) {
Encode("Encode"),
ExtractSubtitles("Extract Subtitles"),
ConvertSubtitle("Convert Subtitle"),
MetadataSearch("Search for metadata"),
}
enum class FileActionType(val label: String) {

View File

@ -178,11 +178,13 @@ class CoordinatorClient(
MediaActionType.All -> setOf(
OperationType.Encode,
OperationType.ExtractSubtitles,
OperationType.ConvertSubtitles
OperationType.ConvertSubtitles,
OperationType.MetadataSearch
)
MediaActionType.Encode -> setOf(OperationType.Encode)
MediaActionType.ExtractSubtitles -> setOf(OperationType.ExtractSubtitles)
MediaActionType.ConvertSubtitle -> setOf(OperationType.ConvertSubtitles)
MediaActionType.MetadataSearch -> setOf(OperationType.MetadataSearch)
}

View File

@ -73,7 +73,8 @@ class ExplorerService(
return listOf(
MediaAction(MediaActionType.All),
MediaAction(MediaActionType.Encode),
MediaAction(MediaActionType.ExtractSubtitles)
MediaAction(MediaActionType.ExtractSubtitles),
MediaAction(MediaActionType.MetadataSearch),
)
}

View File

@ -9,6 +9,7 @@ export type MediaActionType =
| "Encode"
| "ExtractSubtitles"
| "ConvertSubtitle"
|
export interface MediaAction {
id: MediaActionType

View File

@ -23,5 +23,5 @@ enum class OperationType {
ExtractSubtitles,
Encode,
ConvertSubtitles,
Metadata
MetadataSearch
}

View File

@ -56,7 +56,7 @@ class CollectProjection(val events: List<Event>) {
OperationType.Encode to encodeTaskStatus,
OperationType.ExtractSubtitles to extreactTaskStatus,
OperationType.ConvertSubtitles to convertTaskStatus,
OperationType.Metadata to metadataTaskStatus,
OperationType.MetadataSearch to metadataTaskStatus,
)
return required.map { statusMap[it] ?: TaskStatus.NotInitiated }