test:#324 change eventService and fetch routine

This commit is contained in:
Elmar Kresse
2024-05-17 18:30:35 +00:00
parent 9b9909d389
commit ad197f366d
14 changed files with 102 additions and 73 deletions

View File

@@ -103,19 +103,18 @@ func parseSeminarGroup(result string) model.SeminarGroup {
if eventTables == nil || allDayLabels == nil {
return model.SeminarGroup{}
}
eventsWithCombinedWeeks := toEvents(eventTables, allDayLabels)
course := findFirstSpanWithClass(table, "header-2-0-1").FirstChild.Data
eventsWithCombinedWeeks := toEvents(eventTables, allDayLabels, course)
splitEventsByWeekVal := splitEventsByWeek(eventsWithCombinedWeeks)
events := splitEventsBySingleWeek(splitEventsByWeekVal)
semesterString := findFirstSpanWithClass(table, "header-0-2-0").FirstChild.Data
course := findFirstSpanWithClass(table, "header-2-0-1").FirstChild.Data
semester, year := extractSemesterAndYear(semesterString)
events = convertWeeksToDates(events, semester, year)
events = generateUUIDs(events, course)
events, err = SplitEventType(events)
if err != nil {
slog.Error("Error occurred while splitting event types: %s", err)
slog.Error("Error occurred while splitting event types:", "error", err)
return model.SeminarGroup{}
}
@@ -204,7 +203,7 @@ func extractSemesterAndYear(semesterString string) (string, string) {
return semesterShortcut, year
}
func toEvents(tables [][]*html.Node, days []string) []model.Event {
func toEvents(tables [][]*html.Node, days []string, course string) []model.Event {
var events []model.Event
for table := range tables {
@@ -225,6 +224,7 @@ func toEvents(tables [][]*html.Node, days []string) []model.Event {
Rooms: getTextContent(tableData[6]),
Notes: getTextContent(tableData[7]),
BookedAt: getTextContent(tableData[8]),
Course: course,
})
}
}

View File

@@ -68,7 +68,7 @@ func FetchSeminarGroups(app *pocketbase.PocketBase) ([]*models.Record, error) {
for i, semester := range semesterString {
results[i], err = getSeminarHTML(semester)
if err != nil {
slog.Error("Error while fetching seminar groups for: "+semester, err)
slog.Error("Error while fetching seminar groups for: "+semester, "error", err)
return nil, err
}
groups = append(groups, parseSeminarGroups(results[i], semester)...)
@@ -79,14 +79,14 @@ func FetchSeminarGroups(app *pocketbase.PocketBase) ([]*models.Record, error) {
collection, dbError := db.FindCollection(app, "groups")
if dbError != nil {
slog.Error("Error while searching collection groups", dbError)
slog.Error("Error while searching collection groups", "error", dbError)
return nil, err
}
var insertedGroups []*models.Record
insertedGroups, dbError = db.SaveGroups(groups, collection, app)
if dbError != nil {
slog.Error("Error while saving groups", dbError)
slog.Error("Error while saving groups", "error", dbError)
return nil, err
}