package sources import ( "gitea.maximumdirect.net/ejr/weatherfeeder/internal/sources/nws" "gitea.maximumdirect.net/ejr/weatherfeeder/internal/sources/openmeteo" "gitea.maximumdirect.net/ejr/weatherfeeder/internal/sources/openweather" "gitea.maximumdirect.net/ejr/feedkit/config" fksource "gitea.maximumdirect.net/ejr/feedkit/sources" ) // RegisterBuiltins registers the source drivers that ship with this binary. // Keeping this in one place makes main.go very readable. func RegisterBuiltins(r *fksource.Registry) { // NWS drivers r.Register("nws_observation", func(cfg config.SourceConfig) (fksource.Source, error) { return nws.NewObservationSource(cfg) }) r.Register("nws_alerts", func(cfg config.SourceConfig) (fksource.Source, error) { return nws.NewAlertsSource(cfg) }) r.Register("nws_forecast", func(cfg config.SourceConfig) (fksource.Source, error) { return nws.NewForecastSource(cfg) }) // Open-Meteo drivers r.Register("openmeteo_observation", func(cfg config.SourceConfig) (fksource.Source, error) { return openmeteo.NewObservationSource(cfg) }) r.Register("openmeteo_forecast", func(cfg config.SourceConfig) (fksource.Source, error) { return openmeteo.NewForecastSource(cfg) }) // OpenWeatherMap drivers r.Register("openweather_observation", func(cfg config.SourceConfig) (fksource.Source, error) { return openweather.NewObservationSource(cfg) }) }