Better null checks
This commit is contained in:
parent
ca8efdaa85
commit
5ba9dfc263
|
@ -42,11 +42,7 @@ class TimetableParser(timetableURL: String? = null, htmlDoc: Document? = null) {
|
|||
val semaphore = Semaphore(3, 0)
|
||||
}
|
||||
|
||||
private val htmlDoc: Document? =
|
||||
htmlDoc
|
||||
?: if (timetableURL == null) {
|
||||
null
|
||||
} else {
|
||||
private val htmlDoc: Document? = htmlDoc ?: timetableURL?.let {
|
||||
runBlocking {
|
||||
try {
|
||||
// Only allow sending a limited amount of requests at the same time
|
||||
|
@ -66,13 +62,9 @@ class TimetableParser(timetableURL: String? = null, htmlDoc: Document? = null) {
|
|||
* the timetable is organised per row not per column;
|
||||
* Mon 1, Tue 1, Wed 1, Thur 1, Fri 1, Sat 1, Mon 2 and so on
|
||||
*/
|
||||
fun parseTimeTable(): TimetableWeek? {
|
||||
if (htmlDoc == null) {
|
||||
return null
|
||||
}
|
||||
|
||||
fun parseTimeTable(): TimetableWeek? = htmlDoc?.let {
|
||||
val timetableWeek = TimetableWeek()
|
||||
val rows = htmlDoc.select("table.timetable").select("tr[scope=\"row\"]")
|
||||
val rows = it.select("table.timetable").select("tr[scope=\"row\"]")
|
||||
|
||||
var sDay = -1
|
||||
var sRow = -1
|
||||
|
@ -141,12 +133,8 @@ class TimetableParser(timetableURL: String? = null, htmlDoc: Document? = null) {
|
|||
/**
|
||||
* parse the week number of the year for the timetable
|
||||
*/
|
||||
fun parseWeekNumberYear(): Int? {
|
||||
if (htmlDoc == null) {
|
||||
return null
|
||||
}
|
||||
|
||||
return htmlDoc.select("h1.timetable-caption").text().substringAfter("- ")
|
||||
fun parseWeekNumberYear(): Int? = htmlDoc?.let {
|
||||
it.select("h1.timetable-caption").text().substringAfter("- ")
|
||||
.substringBefore(".").replace(" ", "").toInt()
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue