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
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 {
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
}