package v2 import ( "github.com/pocketbase/pocketbase/tools/types" "golang.org/x/net/html" "htwkalender/model" "htwkalender/service/date" "htwkalender/service/functions" "strings" ) func toEvents(tables [][]*html.Node, days []string) []model.Event { var events []model.Event for table := range tables { for row := range tables[table] { tableData := findTableData(tables[table][row]) if len(tableData) > 0 { start, _ := types.ParseDateTime(date.CreateTimeFromHourAndMinuteString(getTextContent(tableData[1]))) end, _ := types.ParseDateTime(date.CreateTimeFromHourAndMinuteString(getTextContent(tableData[2]))) courses := getTextContent(tableData[7]) name := getTextContent(tableData[3]) if functions.OnlyWhitespace(name) { name = "Sonderveranstaltung" } if len(courses) > 0 { for _, course := range strings.Split(courses, " ") { events = append(events, model.Event{ Day: days[table], Week: getTextContent(tableData[0]), Start: start, End: end, Name: name, EventType: getTextContent(tableData[4]), Notes: getTextContent(tableData[5]), Prof: getTextContent(tableData[6]), Rooms: getTextContent(tableData[8]), BookedAt: getTextContent(tableData[10]), Course: strings.TrimSpace(course), }) } } } } } return events }