changeset 3532:4e4c0d2b8654 waterlevel-in-crossprofile

merged default into waterlevel-in-crossprofile branch
author Markus Kottlaender <markus@intevation.de>
date Wed, 29 May 2019 18:05:11 +0200
parents 804df080c826 (current diff) e98ea184538e (diff)
children 034657d6604f
files
diffstat 5 files changed, 18 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/pkg/controllers/stretches.go	Wed May 29 18:04:07 2019 +0200
+++ b/pkg/controllers/stretches.go	Wed May 29 18:05:11 2019 +0200
@@ -418,7 +418,7 @@
 		return
 	}
 
-	from, ok := parseFormTime(rw, req, "form", time.Now().AddDate(-1, 0, 0))
+	from, ok := parseFormTime(rw, req, "from", time.Now().AddDate(-1, 0, 0))
 	if !ok {
 		return
 	}
--- a/pkg/imports/bn.go	Wed May 29 18:04:07 2019 +0200
+++ b/pkg/imports/bn.go	Wed May 29 18:05:11 2019 +0200
@@ -20,6 +20,7 @@
 	"errors"
 	"regexp"
 	"strconv"
+	"strings"
 	"time"
 
 	"gemma.intevation.de/gemma/pkg/soap/ifbn"
@@ -268,10 +269,12 @@
 	rb, lb := splitRBLB(bn.Rb_lb)
 
 	var revisitingTime *int
-	if bn.Revisiting_time != nil {
+	if bn.Revisiting_time != nil &&
+		len(strings.TrimSpace(*bn.Revisiting_time)) > 0 {
 		i, err := strconv.Atoi(*bn.Revisiting_time)
 		if err != nil {
-			feedback.Warn("Cannot convert '%s' to number of months",
+			feedback.Warn(
+				"Cannot convert given revisiting time '%s' to number of months",
 				*bn.Revisiting_time)
 		} else {
 			revisitingTime = &i
--- a/pkg/imports/sr.go	Wed May 29 18:04:07 2019 +0200
+++ b/pkg/imports/sr.go	Wed May 29 18:05:11 2019 +0200
@@ -164,7 +164,8 @@
 
 	selectGaugeLDCSQL = `
 SELECT
-  grwl.value
+  grwl.value,
+  grwl.depth_reference
 FROM waterway.gauges_reference_water_levels grwl
   JOIN waterway.bottlenecks bns
     ON grwl.location = bns.gauge_location
@@ -208,7 +209,11 @@
 	if m.DepthReference == "ZPG" {
 		feedback.Info("Found ZPG as reference system -> translating Z values to LDC")
 		var ldc float64
-		err := conn.QueryRowContext(ctx, selectGaugeLDCSQL, m.Bottleneck).Scan(&ldc)
+		var depthReference string
+		err := conn.QueryRowContext(ctx, selectGaugeLDCSQL, m.Bottleneck).Scan(
+			&ldc,
+			&depthReference,
+		)
 		switch {
 		case err == sql.ErrNoRows:
 			return nil, errors.New("Cannot load LDC value")
@@ -218,7 +223,7 @@
 		xform = func(v octree.Vertex) octree.Vertex {
 			return octree.Vertex{X: v.X, Y: v.Y, Z: ldc - v.Z}
 		}
-		m.DepthReference = "LDC"
+		m.DepthReference = depthReference
 	}
 
 	if err := m.Validate(ctx, conn); err != nil {
--- a/pkg/imports/wg.go	Wed May 29 18:04:07 2019 +0200
+++ b/pkg/imports/wg.go	Wed May 29 18:05:11 2019 +0200
@@ -235,10 +235,10 @@
 			gauges = append(gauges, isrs)
 			feedback.Info("Processing %s", code)
 
-			// We need a valid time range to identify gauge versions in DB
+			// We need a valid, non-empty time range to identify gauge versions
 			if dr.Enddate != nil && dr.Startdate != nil &&
-				time.Time(*dr.Enddate).Before(time.Time(*dr.Startdate)) {
-				feedback.Warn("End date before start date")
+				!time.Time(*dr.Enddate).After(time.Time(*dr.Startdate)) {
+				feedback.Warn("End date not after start date")
 				unchanged++
 				continue
 			}
--- a/schema/gemma.sql	Wed May 29 18:04:07 2019 +0200
+++ b/schema/gemma.sql	Wed May 29 18:05:11 2019 +0200
@@ -280,7 +280,7 @@
         geom geography(POINT, 4326) NOT NULL,
         applicability_from_km int8,
         applicability_to_km int8,
-        validity tstzrange,
+        validity tstzrange NOT NULL,
         zero_point double precision NOT NULL,
         geodref varchar,
         date_info timestamp with time zone NOT NULL,