Watching multiple directories 4

This commit is contained in:
bskjon 2025-02-15 02:50:57 +01:00
parent 01a3949df4
commit 6269f625e3
2 changed files with 19 additions and 3 deletions

View File

@ -11,6 +11,7 @@ import no.iktdev.mediaprocessing.coordinator.*
import no.iktdev.mediaprocessing.shared.common.SharedConfig import no.iktdev.mediaprocessing.shared.common.SharedConfig
import no.iktdev.mediaprocessing.shared.common.contract.ProcessType import no.iktdev.mediaprocessing.shared.common.contract.ProcessType
import no.iktdev.mediaprocessing.shared.common.extended.isSupportedVideoFile import no.iktdev.mediaprocessing.shared.common.extended.isSupportedVideoFile
import no.iktdev.mediaprocessing.shared.common.ifNotEmpty
import org.springframework.beans.factory.annotation.Autowired import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Service import org.springframework.stereotype.Service
import java.io.File import java.io.File
@ -52,8 +53,17 @@ class InputDirectoryWatcher(@Autowired var coordinator: Coordinator): FileWatche
suspend fun watchFiles() { suspend fun watchFiles() {
log.info { "Starting Watcher" } log.info { "Starting Watcher" }
val dirs = watchDirectories.joinToString("\n\t") { it.absolutePath } val dirs = watchDirectories.filter { it.exists() && it.isDirectory }
log.info { "Watching directories: $dirs" } if (dirs.isNotEmpty()) {
val paths = dirs.joinToString("\n\t") { it.absolutePath }
log.info { "Watching directories:\n\t $paths" }
}
//val errorConfiguredDirs = watchDirectories.filter { !it.isDirectory || !it.exists()}.joinToString("\n\t") { it.absolutePath }
watchDirectories.filter { !it.isDirectory || !it.exists()}.ifNotEmpty {
val errorConfiguredDirs = it.joinToString("\n\t") { it.absolutePath }
log.error { "Failed to initialize watcher for the following: \n\t $errorConfiguredDirs" }
}
for (folder in watchDirectories) { for (folder in watchDirectories) {
startWatchOnDirectory(folder) startWatchOnDirectory(folder)
} }

View File

@ -131,3 +131,9 @@ fun File.moveTo(destinationFile: File, onProgress: (Double) -> Unit = {}): Boole
return true return true
} }
fun <T> List<T>.ifNotEmpty(block: (List<T>) -> Unit) {
if (this.isNotEmpty()) {
block(this)
}
}