Very basic data enrichment via LOBID/GND

This commit is contained in:
Simon Martens
2024-11-19 18:51:42 +01:00
parent 7dc603df2c
commit c86fed3cbe
12 changed files with 368 additions and 50827 deletions

View File

@@ -6,7 +6,6 @@ import (
"sort"
"strconv"
"github.com/Theodor-Springmann-Stiftung/kgpz_web/helpers/logging"
"github.com/Theodor-Springmann-Stiftung/kgpz_web/providers/xmlprovider"
)
@@ -18,6 +17,35 @@ type YearViewModel struct {
Issues IssuesByMonth
}
func YearView(year string, lib *xmlprovider.Library) (*YearViewModel, error) {
res := YearViewModel{Year: year}
res.Issues = make(IssuesByMonth, 12)
last := ""
for _, issue := range lib.Issues.Items.Issues {
if len(issue.Datum.When) < 4 {
continue
}
date := issue.Datum.When[0:4]
if date != last {
res.PushAvailable(date)
last = date
}
if date == year {
res.PushIssue(issue)
}
}
if len(res.Issues) == 0 {
return nil, errors.New("No issues found for year " + year)
}
res.SortAvailableYears()
return &res, nil
}
func (y *YearViewModel) PushIssue(i xmlprovider.Issue) {
iv, err := FromIssue(i)
if err != nil {
@@ -54,34 +82,3 @@ func (y *YearViewModel) SortAvailableYears() {
return iint < jint
})
}
func YearView(year string, lib *xmlprovider.Library) (*YearViewModel, error) {
res := YearViewModel{Year: year}
res.Issues = make(IssuesByMonth, 12)
last := ""
for _, issue := range lib.Issues.Items.Issues {
logging.ObjDebug(&issue, "Issue")
if len(issue.Datum.When) < 4 {
continue
}
date := issue.Datum.When[0:4]
if date != last {
res.PushAvailable(date)
last = date
}
if date == year {
res.PushIssue(issue)
}
}
if len(res.Issues) == 0 {
return nil, errors.New("No issues found")
}
res.SortAvailableYears()
return &res, nil
}