diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 11a23ff..d477e1b 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -67,3 +67,16 @@ sqldelight { } } } + +// nixpacks looks in build/libs +tasks.register("copyJarToRoot") { + println("copy bopy") + from("build/libs") + into("../build/libs") + include("*.jar") + dependsOn(":app:build") +} + +tasks.build { + finalizedBy("copyJarToRoot") +} diff --git a/app/src/main/kotlin/net/h34t/filemure/DateGuesser.kt b/app/src/main/kotlin/net/h34t/filemure/DateGuesser.kt index 2e5fc0b..20d5bba 100644 --- a/app/src/main/kotlin/net/h34t/filemure/DateGuesser.kt +++ b/app/src/main/kotlin/net/h34t/filemure/DateGuesser.kt @@ -36,32 +36,32 @@ object DateGuesser { Regex("\\d{4}-\\d{2}-\\d{2}") to DateTimeFormatter.ofPattern("yyyy-MM-dd"), Regex("\\d{4}_\\d{2}_\\d{2}") to DateTimeFormatter.ofPattern("yyyy_MM_dd"), Regex("\\d{4}\\d{2}\\d{2}") to DateTimeFormatter.ofPattern("yyyyMMdd"), - Regex("\\d{2}.\\d{2}.\\d{4}") to DateTimeFormatter.ofPattern("dd.MM.YYYY"), - Regex("\\d{2}.\\d{2}.\\d{2}") to DateTimeFormatter.ofPattern("dd.MM.yy"), + Regex("\\d{2}\\.\\d{2}\\.\\d{4}") to DateTimeFormatter.ofPattern("dd.MM.YYYY"), + Regex("\\d{2}\\.\\d{2}\\.\\d{2}") to DateTimeFormatter.ofPattern("dd.MM.yy"), ) - private fun guessDateTime(filename: String) = dateTimePatterns.asSequence().map { - it.first.findAll(filename).mapNotNull { mr -> + private fun guessDateTime(filename: String) = dateTimePatterns.asSequence().mapNotNull { rxPattern -> + rxPattern.first.findAll(filename).mapNotNull { mr -> try { - LocalDateTime.parse(mr.groups[0]?.value!!, it.second) - } catch (e: DateTimeParseException) { + LocalDateTime.parse(mr.groups[0]?.value!!, rxPattern.second) + } catch (_: DateTimeParseException) { null } }.firstOrNull() }.firstOrNull() - private fun guessDate(filename: String) = datePatterns.asSequence().map { - it.first.findAll(filename).mapNotNull { mr -> + private fun guessDate(filename: String) = datePatterns.asSequence().mapNotNull { rxPattern -> + rxPattern.first.findAll(filename).mapNotNull { mr -> try { - LocalDate.parse(mr.groups[0]?.value!!, it.second) - } catch (e: DateTimeParseException) { + LocalDate.parse(mr.groups[0]?.value!!, rxPattern.second) + } catch (_: DateTimeParseException) { null } }.firstOrNull() }.firstOrNull() fun guess(filename: String): LocalDateTime? { - return guessDateTime(filename) ?: guessDate(filename)?.atTime(0, 0) + return guessDateTime(filename) ?: (guessDate(filename)?.atTime(0, 0)) } } \ No newline at end of file diff --git a/app/src/main/kotlin/net/h34t/filemure/controller/DocumentController.kt b/app/src/main/kotlin/net/h34t/filemure/controller/DocumentController.kt index c4ba0f2..fbe4e9c 100644 --- a/app/src/main/kotlin/net/h34t/filemure/controller/DocumentController.kt +++ b/app/src/main/kotlin/net/h34t/filemure/controller/DocumentController.kt @@ -31,7 +31,7 @@ class DocumentController(val modifiers: TemplateModifiers, val repository: Sqlit extId = document.extId.value, referenceDate = document.referenceDate.formatHumanLong(), tags = { document.tags.map { TagsBlock(tag = it.value) }.asSequence() }, - description = document.description.ifBlank { "-" }, + description = document.description.ifBlank { "" }, files = FileList( modifiers = modifiers, delete = true, diff --git a/app/src/main/tpl/net.h34t.filemure.tpl/Document.tpl.html b/app/src/main/tpl/net.h34t.filemure.tpl/Document.tpl.html index a46a405..ebadc90 100644 --- a/app/src/main/tpl/net.h34t.filemure.tpl/Document.tpl.html +++ b/app/src/main/tpl/net.h34t.filemure.tpl/Document.tpl.html @@ -12,7 +12,11 @@
Description + {if $description}
{$description|html}
+ {else} +

-

+ {/if} diff --git a/app/src/test/kotlin/net/h34t/filemure/DateGuesserTest.kt b/app/src/test/kotlin/net/h34t/filemure/DateGuesserTest.kt index 6585fec..d60c53f 100644 --- a/app/src/test/kotlin/net/h34t/filemure/DateGuesserTest.kt +++ b/app/src/test/kotlin/net/h34t/filemure/DateGuesserTest.kt @@ -15,15 +15,16 @@ class DateGuesserTest { fun test_date() { val values = listOf( "2023-10-05T00:00" to "20231005_Form.pdf", - "2023-10-05T10:15" to "File-20231005-101500_Form.pdf", + "2023-10-05T00:00" to "File-20231005_Form.pdf", "2023-10-05T00:00" to "File-2023-10-05_Form.pdf", "2023-10-05T00:00" to "File-2023_10_05_Form.pdf", "2023-10-05T00:00" to "File-2023_10_05.pdf", + "2023-10-05T10:15" to "File-20231005-101500_Form.pdf", "2023-10-05T11:22:33" to "File.20231005-112233.pdf", "2022-11-11T00:00:00" to "File.20221111000000.pdf", "8888-11-11T00:00:00" to "File.88881111000000.pdf", null to "Document.pdf", - ) + ) values.forEach { value -> assertEquals( diff --git a/gradle.properties b/gradle.properties index b06a80a..66aaef9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,4 @@ +org.gradle.java.home=C:/Users/stefa/.jdks/temurin-21.0.5 # Enable the build cache to save time by reusing outputs produced by other successful builds. # https://docs.gradle.org/current/userguide/build_cache.html org.gradle.caching=true