mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender-pwa.git
synced 2025-07-16 09:38:51 +02:00
fix:#22 changed linting errors
This commit is contained in:
@ -53,11 +53,14 @@ func GetAllModulesDistinct(app *pocketbase.PocketBase) ([]model.ModuleDTO, error
|
||||
}
|
||||
|
||||
func GetModuleByUUID(app *pocketbase.PocketBase, uuid string) (model.Module, error) {
|
||||
module, err := db.FindModuleByUUID(app, uuid)
|
||||
events, err := db.FindAllEventsByModule(app, module)
|
||||
module, findModuleErr := db.FindModuleByUUID(app, uuid)
|
||||
if findModuleErr != nil {
|
||||
return model.Module{}, findModuleErr
|
||||
}
|
||||
|
||||
if err != nil || len(events) == 0 {
|
||||
return model.Module{}, err
|
||||
events, findEventsError := db.FindAllEventsByModule(app, module)
|
||||
if findEventsError != nil || len(events) == 0 {
|
||||
return model.Module{}, findEventsError
|
||||
} else {
|
||||
return model.Module{
|
||||
UUID: events[0].UUID,
|
||||
|
@ -167,13 +167,9 @@ func extractStartAndEndTime(cycle string) (int, int, int, int) {
|
||||
}
|
||||
|
||||
func getWeekEvents(start time.Time, end time.Time, cycle string) ([]time.Time, []time.Time) {
|
||||
|
||||
var weekEvents []model.SportDayStartEnd
|
||||
|
||||
// split by regexp to get the cycle parts
|
||||
var cycleParts []string
|
||||
cycleParts = splitByCommaWithTime(cycle)
|
||||
|
||||
var cycleParts = splitByCommaWithTime(cycle)
|
||||
for _, cyclePart := range cycleParts {
|
||||
|
||||
//cut string at the first integer/number
|
||||
|
@ -9,6 +9,7 @@ import (
|
||||
"htwkalender/service/date"
|
||||
"htwkalender/service/fetch"
|
||||
"htwkalender/service/functions"
|
||||
"log/slog"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
@ -61,9 +62,14 @@ func GetSeminarGroupsEventsFromHTML(seminarGroupsLabel []string) []model.Seminar
|
||||
return seminarGroups
|
||||
}
|
||||
|
||||
func splitEventType(events []model.Event) []model.Event {
|
||||
func SplitEventType(events []model.Event) ([]model.Event, error) {
|
||||
re, err := regexp.Compile("^([VPS])([wp])$")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for i, event := range events {
|
||||
matched, _ := regexp.Match("^([VPS])([wp])$", []byte(event.EventType))
|
||||
matched := re.Match([]byte(event.EventType))
|
||||
if matched {
|
||||
eventType := event.EventType
|
||||
event.EventType = eventType[0:1]
|
||||
@ -71,7 +77,7 @@ func splitEventType(events []model.Event) []model.Event {
|
||||
events[i] = event
|
||||
}
|
||||
}
|
||||
return events
|
||||
return events, nil
|
||||
}
|
||||
|
||||
func parseSeminarGroup(result string) model.SeminarGroup {
|
||||
@ -97,7 +103,13 @@ func parseSeminarGroup(result string) model.SeminarGroup {
|
||||
semester, year := extractSemesterAndYear(semesterString)
|
||||
events = convertWeeksToDates(events, semester, year)
|
||||
events = generateUUIDs(events, course)
|
||||
events = splitEventType(events)
|
||||
events, err = SplitEventType(events)
|
||||
|
||||
if err != nil {
|
||||
slog.Error("Error occurred while splitting event types: %s", err)
|
||||
return model.SeminarGroup{}
|
||||
}
|
||||
|
||||
var seminarGroup = model.SeminarGroup{
|
||||
University: findFirstSpanWithClass(table, "header-1-0-0").FirstChild.Data,
|
||||
Course: course,
|
||||
|
@ -205,8 +205,8 @@ func Test_splitEventType(t *testing.T) {
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
if got := splitEventType(tt.args.events); !reflect.DeepEqual(got, tt.want) {
|
||||
t.Errorf("splitEventType() = %v, want %v", got, tt.want)
|
||||
if got, _ := SplitEventType(tt.args.events); !reflect.DeepEqual(got, tt.want) {
|
||||
t.Errorf("SplitEventType() = %v, want %v", got, tt.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -6,7 +6,6 @@ import (
|
||||
"htwkalender/model"
|
||||
"htwkalender/service/date"
|
||||
"htwkalender/service/functions"
|
||||
"regexp"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@ -50,16 +49,3 @@ func toEvents(tables [][]*html.Node, days []string) []model.Event {
|
||||
}
|
||||
return events
|
||||
}
|
||||
|
||||
func splitEventType(events []model.Event) []model.Event {
|
||||
for i, event := range events {
|
||||
matched, _ := regexp.Match("^([VPS])([wp])$", []byte(event.EventType))
|
||||
if matched {
|
||||
eventType := event.EventType
|
||||
event.EventType = eventType[0:1]
|
||||
event.Compulsory = eventType[1:2]
|
||||
events[i] = event
|
||||
}
|
||||
}
|
||||
return events
|
||||
}
|
||||
|
@ -8,7 +8,9 @@ import (
|
||||
"htwkalender/model"
|
||||
"htwkalender/service/db"
|
||||
"htwkalender/service/fetch"
|
||||
v1 "htwkalender/service/fetch/v1"
|
||||
localTime "htwkalender/service/functions/time"
|
||||
"log/slog"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@ -86,7 +88,7 @@ func parseEventForOneSemester(url string) ([]model.Event, error) {
|
||||
|
||||
// Parse HTML to Node Tree
|
||||
var doc *html.Node
|
||||
doc, err = parseHTML(webpage, err)
|
||||
doc, err = parseHTML(webpage)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -113,7 +115,11 @@ func parseEventForOneSemester(url string) ([]model.Event, error) {
|
||||
semesterString := findFirstSpanWithClass(table, "header-0-2-0").FirstChild.Data
|
||||
semester, year := extractSemesterAndYear(semesterString)
|
||||
events = convertWeeksToDates(events, semester, year)
|
||||
events = splitEventType(events)
|
||||
events, err = v1.SplitEventType(events)
|
||||
if err != nil {
|
||||
slog.Error("Error occurred while splitting event types: %s", err)
|
||||
return nil, err
|
||||
}
|
||||
events = switchNameAndNotesForExam(events)
|
||||
events = generateUUIDs(events)
|
||||
|
||||
@ -133,7 +139,7 @@ func switchNameAndNotesForExam(events []model.Event) []model.Event {
|
||||
return events
|
||||
}
|
||||
|
||||
func parseHTML(webpage string, err error) (*html.Node, error) {
|
||||
func parseHTML(webpage string) (*html.Node, error) {
|
||||
doc, err := html.Parse(strings.NewReader(webpage))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
Reference in New Issue
Block a user