fix:#25 added tests and schedule updates

This commit is contained in:
Elmar Kresse
2024-04-22 16:11:13 +02:00
parent c8bcc3be94
commit 02a4360521
19 changed files with 731 additions and 203 deletions

View File

@@ -23,6 +23,8 @@ import (
"github.com/pocketbase/pocketbase/models"
"htwkalender/model"
"htwkalender/service/db"
"htwkalender/service/functions"
"htwkalender/service/functions/time"
"io"
"log/slog"
"net/http"
@@ -59,23 +61,19 @@ func getSeminarHTML(semester string) (string, error) {
func FetchSeminarGroups(app *pocketbase.PocketBase) ([]*models.Record, error) {
var groups []model.SeminarGroup
resultSummer, err := getSeminarHTML("ss")
semesterString := functions.CalculateSemesterList(time.RealClock{})
var results [2]string
var err error
if err != nil {
slog.Error("Error while fetching seminar groups for winter semester", err)
return nil, err
for i, semester := range semesterString {
results[i], err = getSeminarHTML(semester)
if err != nil {
slog.Error("Error while fetching seminar groups for: "+semester, err)
return nil, err
}
groups = append(groups, parseSeminarGroups(results[i], semester)...)
}
resultWinter, _ := getSeminarHTML("ws")
if err != nil {
slog.Error("Error while fetching seminar groups for summer semester", err)
return nil, err
}
groups = parseSeminarGroups(resultSummer, "ss")
groups = append(groups, parseSeminarGroups(resultWinter, "ws")...)
// filter duplicates
groups = removeDuplicates(groups)