From b7b2f3e61cabfcd71dbe891e8affdbd2e5128e9e Mon Sep 17 00:00:00 2001 From: tomaszduda23 Date: Tue, 25 Feb 2025 21:24:05 +0100 Subject: [PATCH] [core] make upload_program more generic (#8321) --- esphome/__main__.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/esphome/__main__.py b/esphome/__main__.py index 770c1a8fcf..43b5504704 100644 --- a/esphome/__main__.py +++ b/esphome/__main__.py @@ -2,6 +2,7 @@ import argparse from datetime import datetime import functools +import importlib import logging import os import re @@ -336,6 +337,13 @@ def check_permissions(port): def upload_program(config, args, host): + try: + module = importlib.import_module("esphome.components." + CORE.target_platform) + if getattr(module, "upload_program")(config, args, host): + return 0 + except AttributeError: + pass + if get_port_type(host) == "SERIAL": check_permissions(host) if CORE.target_platform in (PLATFORM_ESP32, PLATFORM_ESP8266):