From 8c68e0ed414bfb323d6e94db55c95db13797ef8e Mon Sep 17 00:00:00 2001 From: Philipp Tanlak Date: Mon, 4 Dec 2023 17:35:06 +0100 Subject: Make output file and format configurable (#24) --- modules/jsonprint/jsonprint.go | 69 ------------------------------------------ 1 file changed, 69 deletions(-) delete mode 100644 modules/jsonprint/jsonprint.go (limited to 'modules/jsonprint/jsonprint.go') diff --git a/modules/jsonprint/jsonprint.go b/modules/jsonprint/jsonprint.go deleted file mode 100644 index c40a8b9..0000000 --- a/modules/jsonprint/jsonprint.go +++ /dev/null @@ -1,69 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. - -package jsonprint - -import ( - "fmt" - "time" - - "github.com/philippta/flyscrape" -) - -func init() { - flyscrape.RegisterModule(Module{}) -} - -type Module struct { - once bool -} - -func (Module) ModuleInfo() flyscrape.ModuleInfo { - return flyscrape.ModuleInfo{ - ID: "jsonprint", - New: func() flyscrape.Module { return new(Module) }, - } -} - -func (m *Module) ReceiveResponse(resp *flyscrape.Response) { - if resp.Error == nil && resp.Data == nil { - return - } - - if !m.once { - fmt.Println("[") - m.once = true - } else { - fmt.Println(",") - } - - o := output{ - URL: resp.Request.URL, - Data: resp.Data, - Timestamp: time.Now(), - } - if resp.Error != nil { - o.Error = resp.Error.Error() - } - - fmt.Print(flyscrape.Prettify(o, " ")) -} - -func (m *Module) Finalize() { - if m.once { - fmt.Println("\n]") - } -} - -type output struct { - URL string `json:"url,omitempty"` - Data any `json:"data,omitempty"` - Error string `json:"error,omitempty"` - Timestamp time.Time `json:"timestamp,omitempty"` -} - -var ( - _ flyscrape.ResponseReceiver = (*Module)(nil) - _ flyscrape.Finalizer = (*Module)(nil) -) -- cgit v1.2.3