mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 07:03:55 +00:00 
			
		
		
		
	[web_server] Fix download list where external_components has a substitution value (#8911)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
		| @@ -601,10 +601,12 @@ class DownloadListRequestHandler(BaseHandler): | ||||
|         loop = asyncio.get_running_loop() | ||||
|         try: | ||||
|             downloads_json = await loop.run_in_executor(None, self._get, configuration) | ||||
|         except vol.Invalid: | ||||
|         except vol.Invalid as exc: | ||||
|             _LOGGER.exception("Error while fetching downloads", exc_info=exc) | ||||
|             self.send_error(404) | ||||
|             return | ||||
|         if downloads_json is None: | ||||
|             _LOGGER.error("Configuration %s not found", configuration) | ||||
|             self.send_error(404) | ||||
|             return | ||||
|         self.set_status(200) | ||||
| @@ -618,6 +620,7 @@ class DownloadListRequestHandler(BaseHandler): | ||||
|         if storage_json is None: | ||||
|             return None | ||||
|  | ||||
|         try: | ||||
|             config = yaml_util.load_yaml(settings.rel_path(configuration)) | ||||
|  | ||||
|             if const.CONF_EXTERNAL_COMPONENTS in config: | ||||
| @@ -626,6 +629,8 @@ class DownloadListRequestHandler(BaseHandler): | ||||
|                 ) | ||||
|  | ||||
|                 do_external_components_pass(config) | ||||
|         except vol.Invalid: | ||||
|             _LOGGER.info("Could not parse `external_components`, skipping") | ||||
|  | ||||
|         from esphome.components.esp32 import VARIANTS as ESP32_VARIANTS | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user