Compare commits
2 Commits
6646ba4c54
...
0aaa29b1e2
| Author | SHA1 | Date | |
|---|---|---|---|
| 0aaa29b1e2 | |||
| 3e2f0ca681 |
@ -32,6 +32,7 @@ class AlbumCacheService(
|
|||||||
it.isFile && it.extension == "mp3" && it.name.startsWith("01.")
|
it.isFile && it.extension == "mp3" && it.name.startsWith("01.")
|
||||||
}
|
}
|
||||||
.toList()
|
.toList()
|
||||||
|
logger.info { "Album count: ${fileList.count()}" }
|
||||||
when (type) {
|
when (type) {
|
||||||
CacheType.ART -> cacheArt(fileList)
|
CacheType.ART -> cacheArt(fileList)
|
||||||
CacheType.NEW -> cacheNew(fileList)
|
CacheType.NEW -> cacheNew(fileList)
|
||||||
@ -40,6 +41,7 @@ class AlbumCacheService(
|
|||||||
}
|
}
|
||||||
|
|
||||||
suspend fun cacheAll(fileList: List<File>) {
|
suspend fun cacheAll(fileList: List<File>) {
|
||||||
|
logger.debug { "Caching all albums..." }
|
||||||
fileList.forEach {
|
fileList.forEach {
|
||||||
val mp3File = Mp3File(it)
|
val mp3File = Mp3File(it)
|
||||||
val folderPath = it.parentFile.toPath()
|
val folderPath = it.parentFile.toPath()
|
||||||
@ -57,9 +59,11 @@ class AlbumCacheService(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
logger.debug { "...completed caching all albums." }
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun cacheNew(fileList: List<File>) {
|
suspend fun cacheNew(fileList: List<File>) {
|
||||||
|
logger.debug { "Caching new albums..." }
|
||||||
fileList.forEach {
|
fileList.forEach {
|
||||||
val folderPath = it.parentFile.toPath()
|
val folderPath = it.parentFile.toPath()
|
||||||
val folderHash = folderPath.name.hashCode().toString()
|
val folderHash = folderPath.name.hashCode().toString()
|
||||||
@ -79,9 +83,11 @@ class AlbumCacheService(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
logger.debug { "...completed caching new albums." }
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun cacheArt(fileList: List<File>) {
|
suspend fun cacheArt(fileList: List<File>) {
|
||||||
|
logger.debug { "Caching album art..." }
|
||||||
fileList.forEach {
|
fileList.forEach {
|
||||||
val folderPath = it.parentFile.toPath()
|
val folderPath = it.parentFile.toPath()
|
||||||
val folderHash = folderPath.name.hashCode().toString()
|
val folderHash = folderPath.name.hashCode().toString()
|
||||||
@ -89,6 +95,7 @@ class AlbumCacheService(
|
|||||||
launch { getAndWriteAlbumImageFile(it, folderHash, folderPath) }
|
launch { getAndWriteAlbumImageFile(it, folderHash, folderPath) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
logger.debug { "...completed caching album art." }
|
||||||
}
|
}
|
||||||
|
|
||||||
fun createAlbumArtRootDir() {
|
fun createAlbumArtRootDir() {
|
||||||
|
|||||||
@ -21,19 +21,14 @@ class StartupService(
|
|||||||
@Async
|
@Async
|
||||||
@EventListener(ApplicationStartedEvent::class)
|
@EventListener(ApplicationStartedEvent::class)
|
||||||
suspend fun onStartup() {
|
suspend fun onStartup() {
|
||||||
if (withContext(ioDispatcher) {
|
val cacheType = if (withContext(ioDispatcher) { albumRepository.count() } == 0L) {
|
||||||
albumRepository.count()
|
CacheType.ALL}
|
||||||
} == 0L) {
|
else {
|
||||||
coroutineScope {
|
CacheType.NEW
|
||||||
launch {
|
}
|
||||||
albumCacheService.cacheAlbums(CacheType.ALL)
|
coroutineScope {
|
||||||
}
|
launch {
|
||||||
}
|
albumCacheService.cacheAlbums(cacheType)
|
||||||
} else {
|
|
||||||
coroutineScope {
|
|
||||||
launch {
|
|
||||||
albumCacheService.cacheAlbums(CacheType.NEW)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user