39 lines
1.4 KiB
Go
39 lines
1.4 KiB
Go
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)
|
|
})
|
|
}
|