changeset 5220:142ac550bd9a new-fwa

Unify headers for CSV export.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 12 May 2020 10:15:32 +0200
parents de86a96d55c3
children 6794e85dc2dd
files pkg/controllers/bottlenecks.go pkg/controllers/fwa.go pkg/controllers/stretches.go
diffstat 3 files changed, 25 insertions(+), 39 deletions(-) [+]
line wrap: on
line diff
--- a/pkg/controllers/bottlenecks.go	Tue May 12 10:04:06 2020 +0200
+++ b/pkg/controllers/bottlenecks.go	Tue May 12 10:15:32 2020 +0200
@@ -271,7 +271,7 @@
 
 	out := csv.NewWriter(rw)
 
-	record := makeHeader(breaks, '%')
+	record := makeHeader(false, 1, breaks, '%')
 
 	if err := out.Write(record); err != nil {
 		// Too late for HTTP status message.
@@ -407,7 +407,7 @@
 	out := csv.NewWriter(rw)
 
 	// label, ldc, classes
-	record := makeHeader(breaks, 'd')
+	record := makeHeader(false, 1, breaks, 'd')
 
 	if err := out.Write(record); err != nil {
 		// Too late for HTTP status message.
@@ -475,20 +475,6 @@
 	}
 }
 
-func makeHeader(breaks []float64, unit rune) []string {
-	record := make([]string, 1+2+len(breaks)+1)
-	record[0] = "#time"
-	record[1] = fmt.Sprintf("# < LDC [%c]", unit)
-	record[2] = fmt.Sprintf("# >= LDC [%c]", unit)
-	for i, v := range breaks {
-		if i == 0 {
-			record[3] = fmt.Sprintf("#d < %.1f [%c]", v, unit)
-		}
-		record[i+4] = fmt.Sprintf("#d >= %.1f [%c]", v, unit)
-	}
-	return record
-}
-
 var intervals = []func(time.Time, time.Time) func() (time.Time, time.Time, string){
 	fwaMonthly:   monthly,
 	fwaQuarterly: quarterly,
--- a/pkg/controllers/fwa.go	Tue May 12 10:04:06 2020 +0200
+++ b/pkg/controllers/fwa.go	Tue May 12 10:15:32 2020 +0200
@@ -832,3 +832,24 @@
 		return flag
 	}
 }
+
+func makeHeader(flag bool, prec int, breaks []float64, unit rune) []string {
+	record := make([]string, 1+2+len(breaks)+1)
+	record[0] = "# time"
+	record[1] = fmt.Sprintf("# < LDC [%c]", unit)
+	record[2] = fmt.Sprintf("# >= LDC [%c]", unit)
+	for i, v := range breaks {
+		if flag {
+			if i == 0 {
+				record[3] = fmt.Sprintf("# < break_1 [%c]", unit)
+			}
+			record[i+4] = fmt.Sprintf("# >= break_%d [%c]", i+1, unit)
+		} else {
+			if i == 0 {
+				record[3] = fmt.Sprintf("# < %.*f [%c]", prec, v, unit)
+			}
+			record[i+4] = fmt.Sprintf("# >= %.*f [%c]", prec, v, unit)
+		}
+	}
+	return record
+}
--- a/pkg/controllers/stretches.go	Tue May 12 10:04:06 2020 +0200
+++ b/pkg/controllers/stretches.go	Tue May 12 10:15:32 2020 +0200
@@ -386,7 +386,7 @@
 	out := csv.NewWriter(rw)
 
 	// label, lnwl, classes
-	record := makeHeaderStretches(useDepth && useWidth, breaks, 'd')
+	record := makeHeader(useDepth && useWidth, 3, breaks, 'd')
 
 	if err := out.Write(record); err != nil {
 		// Too late for HTTP status message.
@@ -626,7 +626,7 @@
 	out := csv.NewWriter(rw)
 
 	// label, lnwl, classes
-	record := makeHeaderStretches(useDepth && useWidth, breaks, '%')
+	record := makeHeader(useDepth && useWidth, 3, breaks, '%')
 
 	if err := out.Write(record); err != nil {
 		// Too late for HTTP status message.
@@ -663,24 +663,3 @@
 		log.Printf("error: %v\n", err)
 	}
 }
-
-func makeHeaderStretches(flag bool, breaks []float64, unit rune) []string {
-	record := make([]string, 1+2+len(breaks)+1)
-	record[0] = "# time"
-	record[1] = fmt.Sprintf("# < LDC [%c]", unit)
-	record[2] = fmt.Sprintf("# >= LDC [%c]", unit)
-	for i, v := range breaks {
-		if flag {
-			if i == 0 {
-				record[3] = fmt.Sprintf("# < break_1 [%c]", unit)
-			}
-			record[i+4] = fmt.Sprintf("# >= break_%d [%c]", i+1, unit)
-		} else {
-			if i == 0 {
-				record[3] = fmt.Sprintf("# < %.3f [%c]", v, unit)
-			}
-			record[i+4] = fmt.Sprintf("# >= %.3f [%c]", v, unit)
-		}
-	}
-	return record
-}