normalizers: added a structure for normalizers; refactoring sources -> sources+normalizers is still todo.
This commit is contained in:
@@ -14,11 +14,13 @@ import (
|
||||
"gitea.maximumdirect.net/ejr/feedkit/config"
|
||||
fkdispatch "gitea.maximumdirect.net/ejr/feedkit/dispatch"
|
||||
fkevent "gitea.maximumdirect.net/ejr/feedkit/event"
|
||||
fknormalize "gitea.maximumdirect.net/ejr/feedkit/normalize"
|
||||
fkpipeline "gitea.maximumdirect.net/ejr/feedkit/pipeline"
|
||||
fkscheduler "gitea.maximumdirect.net/ejr/feedkit/scheduler"
|
||||
fksinks "gitea.maximumdirect.net/ejr/feedkit/sinks"
|
||||
fksources "gitea.maximumdirect.net/ejr/feedkit/sources"
|
||||
|
||||
wfnormalizers "gitea.maximumdirect.net/ejr/weatherfeeder/internal/normalizers"
|
||||
wfsources "gitea.maximumdirect.net/ejr/weatherfeeder/internal/sources"
|
||||
)
|
||||
|
||||
@@ -90,8 +92,20 @@ func main() {
|
||||
|
||||
events := make(chan fkevent.Event, 256)
|
||||
|
||||
// --- Normalization (optional) ---
|
||||
//
|
||||
// We install feedkit's normalize.Processor even before any normalizers exist.
|
||||
// With an empty registry and RequireMatch=false, this is a no-op passthrough.
|
||||
// It will begin transforming events as soon as:
|
||||
// 1) sources emit raw schemas (raw.*), and
|
||||
// 2) matching normalizers are registered.
|
||||
normReg := &fknormalize.Registry{}
|
||||
wfnormalizers.RegisterBuiltins(normReg)
|
||||
|
||||
pl := &fkpipeline.Pipeline{
|
||||
Processors: nil,
|
||||
Processors: []fkpipeline.Processor{
|
||||
fknormalize.Processor{Registry: normReg},
|
||||
},
|
||||
}
|
||||
|
||||
s := &fkscheduler.Scheduler{
|
||||
|
||||
Reference in New Issue
Block a user