1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-12 23:03:46 +01:00

handle packages as list

This commit is contained in:
J. Nick Koston
2025-10-09 15:48:24 -10:00
parent 0909f43dbb
commit 420d227221

View File

@@ -222,18 +222,25 @@ def analyze_yaml_file(yaml_file: Path) -> dict[str, Any]:
break break
# Extract common bus packages # Extract common bus packages
if not isinstance(data, dict) or "packages" not in data:
return result
packages = data["packages"]
if not isinstance(packages, dict):
return result
valid_buses = get_common_bus_packages() valid_buses = get_common_bus_packages()
if isinstance(data, dict) and "packages" in data: for pkg_name in packages:
packages = data["packages"] if pkg_name not in valid_buses:
if isinstance(packages, dict): continue
for pkg_name in packages: result["buses"].add(pkg_name)
if pkg_name in valid_buses: # Add any package dependencies (e.g., modbus includes uart)
result["buses"].add(pkg_name) if pkg_name not in PACKAGE_DEPENDENCIES:
# Add any package dependencies (e.g., modbus includes uart) continue
if pkg_name in PACKAGE_DEPENDENCIES: for dep in PACKAGE_DEPENDENCIES[pkg_name]:
for dep in PACKAGE_DEPENDENCIES[pkg_name]: if dep not in valid_buses:
if dep in valid_buses: continue
result["buses"].add(dep) result["buses"].add(dep)
return result return result