fix: provider settings in top level field of configuration (#1161)

Configuration for some providers was given in the sub-field `provider_settings`
combining the settings of several providers. Pydantic does not understand
this very well and the configuration became cumbersome, especially in EOSdash.

All provider settings from the `provider-settings` sub-field are now lifted
to the top level field of the configuration.

The changes are automatically migrated in the configuration.

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
This commit is contained in:
Bobby Noelte
2026-07-20 14:37:03 +02:00
committed by GitHub
parent 845191c0d0
commit 3bb0e02aed
44 changed files with 798 additions and 1061 deletions
@@ -67,16 +67,16 @@ class WeatherImport(WeatherProvider, PredictionImportProvider):
async def _update_data(self, force_update: Optional[bool] = False) -> None:
# Both _sequence_lock and _record_lock are already held by the caller.
# Use internal sync methods only — never await public async counterparts.
if self.config.weather.provider_settings.WeatherImport is None:
if self.config.weather.weatherimport is None:
logger.debug(f"{self.provider_id()} data update without provider settings.")
return
if self.config.weather.provider_settings.WeatherImport.import_file_path:
if self.config.weather.weatherimport.import_file_path:
await self._import_from_file(
self.config.weather.provider_settings.WeatherImport.import_file_path,
self.config.weather.weatherimport.import_file_path,
key_prefix="weather",
)
if self.config.weather.provider_settings.WeatherImport.import_json:
if self.config.weather.weatherimport.import_json:
await self._import_from_json(
self.config.weather.provider_settings.WeatherImport.import_json,
self.config.weather.weatherimport.import_json,
key_prefix="weather",
)