Small improvements

- Improve formatting
- Fix some typos
- Mini code improvements
This commit is contained in:
Hannes Braun 2021-10-13 16:39:01 +02:00
parent f9cc9b5e14
commit 993b8f6a71
Signed by: hannesbraun
GPG Key ID: 7B6557E1DFD685BE
4 changed files with 11 additions and 11 deletions

View File

@ -48,11 +48,11 @@ class CacheController {
scheduledUpdates() scheduledUpdates()
} }
companion object{ companion object {
private val logger: Logger = LoggerFactory.getLogger(CacheController::class.java) private val logger: Logger = LoggerFactory.getLogger(CacheController::class.java)
var courseList = CoursesList(CoursesMeta(), sortedMapOf()) var courseList = CoursesList(CoursesMeta(), sortedMapOf())
var mensaMenu = MensaMenu(MensaMeta(0,""), MensaWeek(), MensaWeek()) var mensaMenu = MensaMenu(MensaMeta(0, ""), MensaWeek(), MensaWeek())
var timetableList = HashMap<String, TimetableCourseWeek>() // this list contains all timetables var timetableList = HashMap<String, TimetableCourseWeek>() // this list contains all timetables
/** /**
@ -68,7 +68,7 @@ class CacheController {
val currentTime = System.currentTimeMillis() / 1000 val currentTime = System.currentTimeMillis() / 1000
val timetableLink = "https://mosad.xyz" val timetableLink = "https://mosad.xyz"
val weekNumberYear = 0 val weekNumberYear = 0
val instr = javaClass.getResourceAsStream("/html/Timetable_normal-week.html") val instr = CacheController::class.java.getResourceAsStream("/html/Timetable_normal-week.html")
val timetableParser = val timetableParser =
TimetableParser(htmlDoc = Jsoup.parse(instr, "UTF-8", "https://www.hs-offenburg.de/")) TimetableParser(htmlDoc = Jsoup.parse(instr, "UTF-8", "https://www.hs-offenburg.de/"))
@ -151,7 +151,7 @@ class CacheController {
/** /**
* this function updates the courseList * this function updates the courseList
* during the update process the old data will be returned for a API request * during the update process the old data will be returned for an API request
*/ */
private fun asyncUpdateCourseList() = GlobalScope.launch { private fun asyncUpdateCourseList() = GlobalScope.launch {
CourseListParser().getCourseLinks(StartupController.courseListURL)?.let { CourseListParser().getCourseLinks(StartupController.courseListURL)?.let {
@ -167,7 +167,7 @@ class CacheController {
/** /**
* this function updates the mensa menu list * this function updates the mensa menu list
* during the update process the old data will be returned for a API request * during the update process the old data will be returned for an API request
*/ */
private fun asyncUpdateMensa() = GlobalScope.launch { private fun asyncUpdateMensa() = GlobalScope.launch {
val mensaCurrentWeek = MensaParser().getMensaMenu(StartupController.mensaMenuURL) val mensaCurrentWeek = MensaParser().getMensaMenu(StartupController.mensaMenuURL)
@ -183,7 +183,7 @@ class CacheController {
/** /**
* this function updates all existing timetables * this function updates all existing timetables
* during the update process the old data will be returned for a API request * during the update process the old data will be returned for an API request
* a FixedThreadPool is used to make parallel requests for faster updates * a FixedThreadPool is used to make parallel requests for faster updates
*/ */
private fun asyncUpdateTimetables() = GlobalScope.launch { private fun asyncUpdateTimetables() = GlobalScope.launch {

View File

@ -135,7 +135,8 @@ class StartupController {
try { try {
val timetableObject = JsonParser.parseString(bufferedReader.readLine()).asJsonObject val timetableObject = JsonParser.parseString(bufferedReader.readLine()).asJsonObject
val timetable = Gson().fromJson(timetableObject, TimetableCourseWeek().javaClass) val timetable = Gson().fromJson(timetableObject, TimetableCourseWeek().javaClass)
CacheController.timetableList.put("${timetable.meta.courseName}-${timetable.meta.weekIndex}", timetable) CacheController.timetableList["${timetable.meta.courseName}-${timetable.meta.weekIndex}"] =
timetable
} catch (ex: Exception) { } catch (ex: Exception) {
logger.error("error while reading cache", ex) logger.error("error while reading cache", ex)
} finally { } finally {

View File

@ -62,7 +62,7 @@ class StatusController {
} }
fun updateTimetableRequests(courseName: String) { fun updateTimetableRequests(courseName: String) {
timetableRequests[courseName] = timetableRequests.getOrPut(courseName) {0} + 1 timetableRequests[courseName] = (timetableRequests[courseName] ?: 0) + 1
totalRequests++ totalRequests++
} }

View File

@ -72,7 +72,7 @@ class TimetableParser(timetableURL: String? = null, htmlDoc: Document? = null) {
var lessonIndexDay = 0 // the index of the lesson per timeslot var lessonIndexDay = 0 // the index of the lesson per timeslot
// elements are now all lessons, including empty ones // elements are now all lessons, including empty ones
row.select("td.lastcol, td[style]").forEach {element -> row.select("td.lastcol, td[style]").forEach { element ->
// if there is a lecture with rowspan="2", we need to shift everything by one to the left. This is stupid and ugly there needs to bee an API // if there is a lecture with rowspan="2", we need to shift everything by one to the left. This is stupid and ugly there needs to bee an API
if ((sDay > -1 && sRow > -1) && (sDay == day && ((sRow + 1) == rowIndex))) { if ((sDay > -1 && sRow > -1) && (sDay == day && ((sRow + 1) == rowIndex))) {
@ -115,8 +115,7 @@ class TimetableParser(timetableURL: String? = null, htmlDoc: Document? = null) {
lessonIndexDay++ lessonIndexDay++
if (element.hasClass("lastcol")) if (element.hasClass("lastcol")) {
{
day++ day++
lessonIndexDay = 0 lessonIndexDay = 0
} }