From 355cfcbe6598a3daee9235f1329efbb852a4dd9b Mon Sep 17 00:00:00 2001 From: grimsi <9295182+grimsi@users.noreply.github.com> Date: Sun, 11 May 2025 12:04:37 +0200 Subject: [PATCH] Fix parsing of "Coming soon" in date field --- .../gameyfin/plugins/steam/util/SteamDateSerializer.kt | 7 +++++++ plugins/steam/src/main/resources/MANIFEST.MF | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/steam/src/main/kotlin/de/grimsi/gameyfin/plugins/steam/util/SteamDateSerializer.kt b/plugins/steam/src/main/kotlin/de/grimsi/gameyfin/plugins/steam/util/SteamDateSerializer.kt index 856b7ab..e4a989c 100644 --- a/plugins/steam/src/main/kotlin/de/grimsi/gameyfin/plugins/steam/util/SteamDateSerializer.kt +++ b/plugins/steam/src/main/kotlin/de/grimsi/gameyfin/plugins/steam/util/SteamDateSerializer.kt @@ -16,6 +16,9 @@ import java.util.* class SteamDateSerializer : KSerializer { companion object { + const val COMING_SOON_TEXT = "Coming Soon" + val COMING_SOON_FALLBACK_DATE: LocalDate = LocalDate.parse("2999-12-31") + val formatter: DateTimeFormatter = DateTimeFormatter.ofPattern("d MMM, yyyy", Locale.ENGLISH) } @@ -24,6 +27,10 @@ class SteamDateSerializer : KSerializer { override fun serialize(encoder: Encoder, value: Instant) = encoder.encodeString(value.toString()) private fun fromString(dateString: String): Instant { + if (dateString.equals(COMING_SOON_TEXT, true)) { + return COMING_SOON_FALLBACK_DATE.atStartOfDay().toInstant(ZoneOffset.UTC) + } + val localDate = LocalDate.parse(dateString, formatter) return localDate.atStartOfDay().toInstant(ZoneOffset.UTC) } diff --git a/plugins/steam/src/main/resources/MANIFEST.MF b/plugins/steam/src/main/resources/MANIFEST.MF index 995d587..048e0a2 100644 --- a/plugins/steam/src/main/resources/MANIFEST.MF +++ b/plugins/steam/src/main/resources/MANIFEST.MF @@ -2,5 +2,5 @@ Manifest-Version: 1.0 Plugin-Class: de.grimsi.gameyfin.plugins.steam.SteamPlugin Plugin-Id: steam Plugin-Description: Steam Metadata -Plugin-Version: 1.0.0-alpha5 +Plugin-Version: 1.0.0-alpha6 Plugin-Provider: grimsi