Update dependencies

This commit is contained in:
Wieland Schöbl
2021-05-28 18:08:40 +02:00
parent fcaa8377c1
commit 288e56f035
8 changed files with 176 additions and 20 deletions

View File

@@ -0,0 +1,10 @@
package de.wulkanat.extensions
import org.jsoup.nodes.Element
import org.jsoup.select.Elements
operator fun Element.get(className: String): Elements =
this.getElementsByClass(className)
val Elements.text get() = text().trim()
val Element.absUrl get(): String = child(0).absUrl("href")

View File

@@ -0,0 +1,21 @@
package de.wulkanat.model
import de.wulkanat.extensions.hex2Rgb
import net.dv8tion.jda.api.EmbedBuilder
import net.dv8tion.jda.api.entities.MessageEmbed
class JobListingPreview(
val title: String,
val department: String,
val location: String,
val fullListingUrl: String
) {
fun toMessageEmbed(): MessageEmbed {
return EmbedBuilder()
.setTitle(this.title, this.fullListingUrl)
.setDescription(this.department)
.setAuthor(this.location)
.setColor(hex2Rgb("#337fb0"))
.build()
}
}

View File

@@ -0,0 +1,21 @@
package de.wulkanat.web
import de.wulkanat.extensions.get
import de.wulkanat.extensions.text
import de.wulkanat.extensions.absUrl
import de.wulkanat.model.JobListingPreview
import org.jsoup.nodes.Document
fun parseJobListings(doc: Document) =
doc["current-jobs__departments"].flatMap { jobDepartment ->
val jobDepartmentName = jobDepartment["current-jobs__department-name"].text
jobDepartment["current-jobs__job"].map { job ->
JobListingPreview(
title = job["current-jobs__job-title"].text,
department = jobDepartmentName,
location = job["current-jobs__job-location"].text,
fullListingUrl = job.absUrl
)
}
}