"""App configuration for the django_owm app."""fromdjango.appsimportAppConfigfromdjango.core.checksimportErrorfromdjango.core.checksimportregisterfrom.app_settingsimportOWM_API_KEYfrom.app_settingsimportOWM_MODEL_MAPPINGS
[docs]classDjangoOwmConfig(AppConfig):"""App configuration for django-owm."""default_auto_field="django.db.models.BigAutoField"name="src.django_owm"
[docs]defready(self):"""Run when the app is ready."""defcheck_model_mappings(app_configs,**kwargs):# pylint: disable=W0613"""Check that all model mappings are set."""errors=[]formodel_namein["WeatherLocation","CurrentWeather","MinutelyWeather","HourlyWeather","DailyWeather","WeatherAlert","WeatherErrorLog","APICallLog",]:model_string=OWM_MODEL_MAPPINGS.get(model_name)ifnotmodel_string:errors.append(Error(f"Model mapping for {model_name} is not set.",hint=f"Set OWM_MODEL_MAPPINGS['{model_name}'] in your settings.",# noqa: B907obj=self,id="django_owm.E001",))returnerrorsdefcheck_api_key(app_configs,**kwargs):# pylint: disable=W0613"""Check that the API key is set."""ifnotOWM_API_KEY:return[Error("OpenWeatherMap API key is not set.",hint="Set OWM_API_KEY in your settings.",obj=self,id="django_owm.E002",)]return[]register(check_model_mappings)register(check_api_key)