added junit test for TimetableParser
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
* this also is release 1.1.4 (api version 1.1.2) * closes issue #5
This commit is contained in:
@ -30,8 +30,7 @@ import org.slf4j.LoggerFactory
|
||||
import java.net.SocketTimeoutException
|
||||
|
||||
class MensaParser {
|
||||
|
||||
var logger: org.slf4j.Logger = LoggerFactory.getLogger(MensaParser::class.java)
|
||||
private var logger: org.slf4j.Logger = LoggerFactory.getLogger(MensaParser::class.java)
|
||||
|
||||
/**
|
||||
* returns the mensa's menu for a week
|
||||
|
@ -26,8 +26,10 @@ import org.jsoup.Jsoup
|
||||
import org.jsoup.nodes.Document
|
||||
import org.mosad.thecitadelofricks.Lesson
|
||||
import org.mosad.thecitadelofricks.TimetableWeek
|
||||
import org.slf4j.LoggerFactory
|
||||
|
||||
class TimetableParser {
|
||||
private var logger: org.slf4j.Logger = LoggerFactory.getLogger(TimetableParser::class.java)
|
||||
private val days = arrayOf("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
|
||||
|
||||
/**
|
||||
@ -37,10 +39,18 @@ class TimetableParser {
|
||||
* @param timetableURL the URL of the timetable you want to get
|
||||
*/
|
||||
fun getTimeTable(timetableURL: String): TimetableWeek {
|
||||
val timetableWeek = TimetableWeek()
|
||||
val scheduleHTML = Jsoup.connect(timetableURL).get() // TODO add a try catch block to cover timeouts
|
||||
return try {
|
||||
parseTimeTable(Jsoup.connect(timetableURL).get())
|
||||
} catch (gex: Exception) {
|
||||
logger.error("general TimetableParser error", gex)
|
||||
TimetableWeek()
|
||||
}
|
||||
}
|
||||
|
||||
fun parseTimeTable(htmlDoc: Document): TimetableWeek {
|
||||
val timetableWeek = TimetableWeek()
|
||||
val rows = htmlDoc.select("table.timetable").select("tr[scope=\"row\"]")
|
||||
|
||||
val rows = scheduleHTML.select("table.timetable").select("tr[scope=\"row\"]")
|
||||
var sDay = -1
|
||||
var sRow = -1
|
||||
var sLesson = Lesson("", "", "", "", "")
|
||||
@ -113,7 +123,8 @@ class TimetableParser {
|
||||
fun getWeekNumberYear(timetableURL: String): Int {
|
||||
return try {
|
||||
parseWeekNumberYear(Jsoup.connect(timetableURL).get())
|
||||
} catch (ex: Exception) {
|
||||
} catch (gex: Exception) {
|
||||
logger.error("general TimetableParser error", gex)
|
||||
0
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user