🎨 Replace Sinfest filter with Kotlin version
[rhynodge.git] / src / main / kotlin / net / pterodactylus / rhynodge / webpages / weather / wetterde / WetterDeFilter.kt
index 4e7010e..9df926f 100644 (file)
@@ -4,6 +4,8 @@ import net.pterodactylus.rhynodge.Filter
 import net.pterodactylus.rhynodge.State
 import net.pterodactylus.rhynodge.states.FailedState
 import net.pterodactylus.rhynodge.states.HtmlState
+import net.pterodactylus.rhynodge.webpages.weather.HourState
+import net.pterodactylus.rhynodge.webpages.weather.WeatherState
 import net.pterodactylus.rhynodge.webpages.weather.WindDirection
 import net.pterodactylus.rhynodge.webpages.weather.toWindDirection
 import org.jsoup.nodes.Document
@@ -24,7 +26,7 @@ import java.util.Locale
 class WetterDeFilter : Filter {
 
     object DateParser {
-        val parser = DateTimeFormatter.ofPattern("dd. MMM yyyy").withLocale(Locale.GERMAN).withZone(ZoneId.of("Europe/Berlin"))
+        val parser = DateTimeFormatter.ofPattern("dd. MMMM yyyy").withLocale(Locale.GERMAN).withZone(ZoneId.of("Europe/Berlin"))
     }
 
     override fun filter(state: State): State {
@@ -36,9 +38,9 @@ class WetterDeFilter : Filter {
         return parseWetterDeState(state)
     }
 
-    private fun parseWetterDeState(htmlState: HtmlState): WetterDeState {
+    private fun parseWetterDeState(htmlState: HtmlState): WeatherState {
         val dateTime = parseDate(htmlState.document()) ?: throw IllegalArgumentException("date can not be parsed")
-        val wetterDeState = WetterDeState(dateTime)
+        val wetterDeState = WeatherState("wetter.de", dateTime)
         parseHourStates(htmlState.document()).forEach { wetterDeState += it }
         return wetterDeState
     }