mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-08-06 19:59:13 +02:00
fix:#41 refactored function
This commit is contained in:
@@ -28,40 +28,48 @@ import (
|
|||||||
func toEvents(tables [][]*html.Node, days []string) []model.Event {
|
func toEvents(tables [][]*html.Node, days []string) []model.Event {
|
||||||
var events []model.Event
|
var events []model.Event
|
||||||
|
|
||||||
for table := range tables {
|
for tableIndex, table := range tables {
|
||||||
for row := range tables[table] {
|
day := days[tableIndex]
|
||||||
|
|
||||||
tableData := findTableData(tables[table][row])
|
for _, row := range table {
|
||||||
if len(tableData) > 0 {
|
tableData := findTableData(row)
|
||||||
start, _ := types.ParseDateTime(date.CreateTimeFromHourAndMinuteString(getTextContent(tableData[1])))
|
if len(tableData) == 0 {
|
||||||
end, _ := types.ParseDateTime(date.CreateTimeFromHourAndMinuteString(getTextContent(tableData[2])))
|
continue
|
||||||
|
|
||||||
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),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
events = append(events, createEventsFromTableData(tableData, day)...)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return events
|
return events
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func createEventsFromTableData(tableData []*html.Node, day string) []model.Event {
|
||||||
|
var events []model.Event
|
||||||
|
|
||||||
|
start, _ := types.ParseDateTime(date.CreateTimeFromHourAndMinuteString(getTextContent(tableData[1])))
|
||||||
|
end, _ := types.ParseDateTime(date.CreateTimeFromHourAndMinuteString(getTextContent(tableData[2])))
|
||||||
|
name := getTextContent(tableData[3])
|
||||||
|
if functions.OnlyWhitespace(name) {
|
||||||
|
name = "Sonderveranstaltung"
|
||||||
|
}
|
||||||
|
|
||||||
|
courses := getTextContent(tableData[7])
|
||||||
|
if len(courses) > 0 {
|
||||||
|
for _, course := range strings.Split(courses, " ") {
|
||||||
|
events = append(events, model.Event{
|
||||||
|
Day: day,
|
||||||
|
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
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user