changeset 4035:f2d5bf42ed38

AGM import: Simplified min/max measuredate handling a little bit.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 24 Jul 2019 10:54:18 +0200
parents 4f2f34f5d14d
children e45442db19b1 edb1d11e14cd
files pkg/imports/agm.go
diffstat 1 files changed, 7 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/pkg/imports/agm.go	Tue Jul 23 16:59:43 2019 +0200
+++ b/pkg/imports/agm.go	Wed Jul 24 10:54:18 2019 +0200
@@ -326,7 +326,7 @@
 
 	agmLines := []*agmLine{}
 	ignored := 0
-	mdMinMax := map[models.Isrs][2]time.Time{}
+	mdMinMax := map[models.Isrs]*[2]time.Time{}
 
 lines:
 	for line := 1; ; line++ {
@@ -381,15 +381,15 @@
 		if err != nil {
 			return nil, fmt.Errorf("Invalid 'measure_date' line %d: %v", line, err)
 		}
-		if _, hasGid := mdMinMax[*gid]; hasGid {
-			if md.Before(mdMinMax[*gid][0]) {
-				mdMinMax[*gid] = [2]time.Time{md, mdMinMax[*gid][1]}
+		if v := mdMinMax[*gid]; v != nil {
+			if md.Before(v[0]) {
+				v[0] = md
 			}
-			if md.After(mdMinMax[*gid][1]) {
-				mdMinMax[*gid] = [2]time.Time{mdMinMax[*gid][0], md}
+			if md.After(v[1]) {
+				v[1] = md
 			}
 		} else {
-			mdMinMax[*gid] = [2]time.Time{md, md}
+			mdMinMax[*gid] = &[2]time.Time{md, md}
 		}
 
 		newSender := agm.Originator