changeset 2106:2b72f5e005aa

WFS imports: Write get GetFeature URLs into import log.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 04 Feb 2019 15:49:17 +0100
parents 58a28715e386
children 6747a4cf3639
files cmd/wfs/dump.go pkg/imports/dma.go pkg/imports/fd.go pkg/imports/wa.go pkg/imports/wp.go pkg/imports/wx.go pkg/wfs/download.go
diffstat 7 files changed, 17 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/cmd/wfs/dump.go	Mon Feb 04 15:39:58 2019 +0100
+++ b/cmd/wfs/dump.go	Mon Feb 04 15:49:17 2019 +0100
@@ -26,7 +26,8 @@
 
 func parseFeatures(urls []string, defaultCRS string) error {
 
-	return wfs.DownloadURLs(urls, func(r io.Reader) error {
+	return wfs.DownloadURLs(urls, func(url string, r io.Reader) error {
+		log.Printf("Get features from: '%s'\n", url)
 		rfc, err := wfs.ParseRawFeatureCollection(r)
 		if err != nil {
 			return err
@@ -61,7 +62,8 @@
 
 func dumpURLs(urls []string) error {
 	out := bufio.NewWriter(os.Stdout)
-	if err := wfs.DownloadURLs(urls, func(r io.Reader) error {
+	if err := wfs.DownloadURLs(urls, func(url string, r io.Reader) error {
+		log.Printf("Get features from: '%s'\n", url)
 		_, err := io.Copy(out, r)
 		return err
 	}); err != nil {
--- a/pkg/imports/dma.go	Mon Feb 04 15:39:58 2019 +0100
+++ b/pkg/imports/dma.go	Mon Feb 04 15:49:17 2019 +0100
@@ -176,7 +176,8 @@
 		features          int
 	)
 
-	if err := wfs.DownloadURLs(urls, func(r io.Reader) error {
+	if err := wfs.DownloadURLs(urls, func(url string, r io.Reader) error {
+		feedback.Info("Get features from: '%s'", url)
 		rfc, err := wfs.ParseRawFeatureCollection(r)
 		if err != nil {
 			return fmt.Errorf("parsing GetFeature document failed: %v", err)
--- a/pkg/imports/fd.go	Mon Feb 04 15:39:58 2019 +0100
+++ b/pkg/imports/fd.go	Mon Feb 04 15:49:17 2019 +0100
@@ -226,7 +226,8 @@
 		fds               []fdSummary
 	)
 
-	if err := wfs.DownloadURLs(urls, func(r io.Reader) error {
+	if err := wfs.DownloadURLs(urls, func(url string, r io.Reader) error {
+		feedback.Info("Get features from: '%s'", url)
 		rfc, err := wfs.ParseRawFeatureCollection(r)
 		if err != nil {
 			return fmt.Errorf("parsing GetFeature document failed: %v", err)
--- a/pkg/imports/wa.go	Mon Feb 04 15:39:58 2019 +0100
+++ b/pkg/imports/wa.go	Mon Feb 04 15:49:17 2019 +0100
@@ -183,7 +183,8 @@
 		features          int
 	)
 
-	if err := wfs.DownloadURLs(urls, func(r io.Reader) error {
+	if err := wfs.DownloadURLs(urls, func(url string, r io.Reader) error {
+		feedback.Info("Get features from: '%s'", url)
 		rfc, err := wfs.ParseRawFeatureCollection(r)
 		if err != nil {
 			return fmt.Errorf("parsing GetFeature document failed: %v", err)
--- a/pkg/imports/wp.go	Mon Feb 04 15:39:58 2019 +0100
+++ b/pkg/imports/wp.go	Mon Feb 04 15:49:17 2019 +0100
@@ -248,7 +248,8 @@
 		features          int
 	)
 
-	if err := wfs.DownloadURLs(urls, func(r io.Reader) error {
+	if err := wfs.DownloadURLs(urls, func(url string, r io.Reader) error {
+		feedback.Info("Get features from: '%s'", url)
 		rfc, err := wfs.ParseRawFeatureCollection(r)
 		if err != nil {
 			return fmt.Errorf("parsing GetFeature document failed: %v", err)
--- a/pkg/imports/wx.go	Mon Feb 04 15:39:58 2019 +0100
+++ b/pkg/imports/wx.go	Mon Feb 04 15:49:17 2019 +0100
@@ -183,7 +183,8 @@
 		features          int
 	)
 
-	if err := wfs.DownloadURLs(urls, func(r io.Reader) error {
+	if err := wfs.DownloadURLs(urls, func(url string, r io.Reader) error {
+		feedback.Info("Get features from: '%s'", url)
 		rfc, err := wfs.ParseRawFeatureCollection(r)
 		if err != nil {
 			return fmt.Errorf("parsing GetFeature document failed: %v", err)
--- a/pkg/wfs/download.go	Mon Feb 04 15:39:58 2019 +0100
+++ b/pkg/wfs/download.go	Mon Feb 04 15:49:17 2019 +0100
@@ -246,7 +246,7 @@
 	return downloadURLs, nil
 }
 
-func downloadURL(url string, handler func(io.Reader) error) error {
+func downloadURL(url string, handler func(string, io.Reader) error) error {
 	resp, err := http.Get(url)
 	if err != nil {
 		return err
@@ -256,12 +256,12 @@
 			resp.StatusCode, resp.Status)
 	}
 	defer resp.Body.Close()
-	return handler(resp.Body)
+	return handler(url, resp.Body)
 }
 
 // DownloadURLs does the actual GetFeature requests downloads
 // and hands the resulting io.Readers over to the given handler.
-func DownloadURLs(urls []string, handler func(io.Reader) error) error {
+func DownloadURLs(urls []string, handler func(string, io.Reader) error) error {
 	for _, url := range urls {
 		if err := downloadURL(url, handler); err != nil {
 			return err