changeset 4941:df6c8a485979 fairway-marks-import

Improve handling of invalid dirimp values
author Tom Gottfried <tom@intevation.de>
date Mon, 17 Feb 2020 19:00:44 +0100
parents b3b2ba09a450
children 4c57d80ad7a7
files pkg/imports/fm_bcnlat.go pkg/imports/fm_daymar.go pkg/imports/fm_notmrk.go pkg/pgxutils/errors.go
diffstat 4 files changed, 21 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/pkg/imports/fm_bcnlat.go	Mon Feb 17 18:38:45 2020 +0100
+++ b/pkg/imports/fm_bcnlat.go	Mon Feb 17 19:00:44 2020 +0100
@@ -188,6 +188,9 @@
 							}); err != nil {
 								feedback.Warn(
 									pgxutils.ReadableError{Err: err}.Error())
+								feedback.Info(
+									"Tried to import '%s' as dirimp value",
+									dirimp)
 							}
 						}
 					}
--- a/pkg/imports/fm_daymar.go	Mon Feb 17 18:38:45 2020 +0100
+++ b/pkg/imports/fm_daymar.go	Mon Feb 17 19:00:44 2020 +0100
@@ -178,6 +178,9 @@
 							}); err != nil {
 								feedback.Warn(
 									pgxutils.ReadableError{Err: err}.Error())
+								feedback.Info(
+									"Tried to import '%s' as dirimp value",
+									dirimp)
 							}
 						}
 					}
--- a/pkg/imports/fm_notmrk.go	Mon Feb 17 18:38:45 2020 +0100
+++ b/pkg/imports/fm_notmrk.go	Mon Feb 17 19:00:44 2020 +0100
@@ -195,6 +195,9 @@
 							}); err != nil {
 								feedback.Warn(
 									pgxutils.ReadableError{Err: err}.Error())
+								feedback.Info(
+									"Tried to import '%s' as dirimp value",
+									dirimp)
 							}
 						}
 					}
--- a/pkg/pgxutils/errors.go	Mon Feb 17 18:38:45 2020 +0100
+++ b/pkg/pgxutils/errors.go	Mon Feb 17 19:00:44 2020 +0100
@@ -98,6 +98,18 @@
 					return
 				}
 			}
+			switch err.TableName {
+			case "fairway_marks_bcnlat_dirimps",
+				"fairway_marks_daymar_dirimps",
+				"fairway_marks_notmrk_dirimps":
+				switch err.ConstraintName {
+				case "fairway_marks_bcnlat_dirimps_dirimp_fkey",
+					"fairway_marks_daymar_dirimps_dirimp_fkey",
+					"fairway_marks_notmrk_dirimps_dirimp_fkey":
+					m = "Invalid value for dirimp"
+					return
+				}
+			}
 		}
 	case uniqueViolation:
 		switch err.SchemaName {