mirror of
https://github.com/HMCore/Orbot.git
synced 2025-12-12 22:06:23 +00:00
Update dependencies
This commit is contained in:
10
src/main/kotlin/de/wulkanat/extensions/Jsoup.kt
Normal file
10
src/main/kotlin/de/wulkanat/extensions/Jsoup.kt
Normal 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")
|
||||
21
src/main/kotlin/de/wulkanat/model/JobListingPreview.kt
Normal file
21
src/main/kotlin/de/wulkanat/model/JobListingPreview.kt
Normal 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()
|
||||
}
|
||||
}
|
||||
21
src/main/kotlin/de/wulkanat/web/JobListingParser.kt
Normal file
21
src/main/kotlin/de/wulkanat/web/JobListingParser.kt
Normal 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
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user