fix:#25 changed course updater insert and delete procedure

This commit is contained in:
Elmar Kresse
2024-04-21 11:59:20 +02:00
parent e13dad48b4
commit c8bcc3be94
4 changed files with 100 additions and 108 deletions

View File

@@ -32,50 +32,43 @@ import (
"time"
)
func ReplaceEmptyEventNames(groups []model.SeminarGroup) []model.SeminarGroup {
for i, group := range groups {
for j, event := range group.Events {
if functions.OnlyWhitespace(event.Name) {
groups[i].Events[j].Name = "Sonderveranstaltungen"
}
func ReplaceEmptyEventNames(group model.SeminarGroup) model.SeminarGroup {
for j, event := range group.Events {
if functions.OnlyWhitespace(event.Name) {
group.Events[j].Name = "Sonderveranstaltungen"
}
}
return groups
return group
}
func ClearEmptySeminarGroups(seminarGroups []model.SeminarGroup) []model.SeminarGroup {
var newSeminarGroups []model.SeminarGroup
for _, seminarGroup := range seminarGroups {
if len(seminarGroup.Events) > 0 && seminarGroup.Course != "" {
newSeminarGroups = append(newSeminarGroups, seminarGroup)
}
func ClearEmptySeminarGroups(seminarGroup model.SeminarGroup) model.SeminarGroup {
var newSeminarGroup = model.SeminarGroup{}
if len(seminarGroup.Events) > 0 && seminarGroup.Course != "" {
newSeminarGroup = seminarGroup
}
return newSeminarGroups
return newSeminarGroup
}
func GetSeminarGroupsEventsFromHTML(seminarGroupsLabel []string) []model.SeminarGroup {
var seminarGroups []model.SeminarGroup
for _, seminarGroupLabel := range seminarGroupsLabel {
func GetSeminarGroupEventsFromHTML(seminarGroupLabel string) model.SeminarGroup {
var seminarGroup model.SeminarGroup
if (time.Now().Month() >= 3) && (time.Now().Month() <= 10) {
ssUrl := "https://stundenplan.htwk-leipzig.de/" + string("ss") + "/Berichte/Text-Listen;Studenten-Sets;name;" + seminarGroupLabel + "?template=sws_semgrp&weeks=1-65"
result, getError := fetch.GetHTML(ssUrl)
if getError == nil {
seminarGroup := parseSeminarGroup(result)
seminarGroups = append(seminarGroups, seminarGroup)
}
}
if (time.Now().Month() >= 9) || (time.Now().Month() <= 4) {
wsUrl := "https://stundenplan.htwk-leipzig.de/" + string("ws") + "/Berichte/Text-Listen;Studenten-Sets;name;" + seminarGroupLabel + "?template=sws_semgrp&weeks=1-65"
result, getError := fetch.GetHTML(wsUrl)
if getError == nil {
seminarGroup := parseSeminarGroup(result)
seminarGroups = append(seminarGroups, seminarGroup)
}
if (time.Now().Month() >= 3) && (time.Now().Month() <= 10) {
ssUrl := "https://stundenplan.htwk-leipzig.de/" + string("ss") + "/Berichte/Text-Listen;Studenten-Sets;name;" + seminarGroupLabel + "?template=sws_semgrp&weeks=1-65"
result, getError := fetch.GetHTML(ssUrl)
if getError == nil {
seminarGroup = parseSeminarGroup(result)
}
}
return seminarGroups
if (time.Now().Month() >= 9) || (time.Now().Month() <= 4) {
wsUrl := "https://stundenplan.htwk-leipzig.de/" + string("ws") + "/Berichte/Text-Listen;Studenten-Sets;name;" + seminarGroupLabel + "?template=sws_semgrp&weeks=1-65"
result, getError := fetch.GetHTML(wsUrl)
if getError == nil {
seminarGroup = parseSeminarGroup(result)
}
}
return seminarGroup
}
func SplitEventType(events []model.Event) ([]model.Event, error) {

View File

@@ -75,28 +75,17 @@ func Test_extractSemesterAndYear(t *testing.T) {
func Test_replaceEmptyEventNames(t *testing.T) {
type args struct {
groups []model.SeminarGroup
group model.SeminarGroup
}
tests := []struct {
name string
args args
want []model.SeminarGroup
want model.SeminarGroup
}{
{
name: "Test 1",
args: args{
groups: []model.SeminarGroup{
{
Events: []model.Event{
{
Name: "Test",
},
},
},
},
},
want: []model.SeminarGroup{
{
group: model.SeminarGroup{
Events: []model.Event{
{
Name: "Test",
@@ -104,26 +93,29 @@ func Test_replaceEmptyEventNames(t *testing.T) {
},
},
},
want: model.SeminarGroup{
Events: []model.Event{
{
Name: "Test",
},
},
},
},
{
name: "Test 1",
args: args{
groups: []model.SeminarGroup{
{
Events: []model.Event{
{
Name: "",
},
group: model.SeminarGroup{
Events: []model.Event{
{
Name: "",
},
},
},
},
want: []model.SeminarGroup{
{
Events: []model.Event{
{
Name: "Sonderveranstaltungen",
},
want: model.SeminarGroup{
Events: []model.Event{
{
Name: "Sonderveranstaltungen",
},
},
},
@@ -131,7 +123,7 @@ func Test_replaceEmptyEventNames(t *testing.T) {
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := ReplaceEmptyEventNames(tt.args.groups); !reflect.DeepEqual(got, tt.want) {
if got := ReplaceEmptyEventNames(tt.args.group); !reflect.DeepEqual(got, tt.want) {
t.Errorf("ReplaceEmptyEventNames() = %v, want %v", got, tt.want)
}
})