Mercurial > gemma
diff pkg/imports/sr.go @ 3504:6e748f31777a
AGM/SR import. Limit logging of warnings to 100.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Tue, 28 May 2019 12:09:11 +0200 |
parents | fdb0439850d5 |
children | 4cd4375efd5d |
line wrap: on
line diff
--- a/pkg/imports/sr.go Tue May 28 11:49:40 2019 +0200 +++ b/pkg/imports/sr.go Tue May 28 12:09:11 2019 +0200 @@ -35,6 +35,7 @@ shp "github.com/jonas-p/go-shp" "gemma.intevation.de/gemma/pkg/common" + "gemma.intevation.de/gemma/pkg/misc" "gemma.intevation.de/gemma/pkg/models" "gemma.intevation.de/gemma/pkg/octree" ) @@ -460,19 +461,9 @@ var hasNegZ bool - const maxWarnings = 100 - var warnings int - - warn := func(format string, args ...interface{}) { - if warnings++; warnings <= maxWarnings { - feedback.Warn(format, args...) - } - } - defer func() { - if warnings > maxWarnings { - feedback.Warn("Too many warnings. %d ignored.", warnings-maxWarnings) - } - }() + warnLimiter := misc.WarningLimiter{Log: feedback.Warn, MaxWarnings: 100} + warn := warnLimiter.Warn + defer warnLimiter.Close() for line := 1; s.Scan(); line++ { text := s.Text()