1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-13 07:13:47 +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,17 +222,24 @@ def analyze_yaml_file(yaml_file: Path) -> dict[str, Any]:
break break
# Extract common bus packages # Extract common bus packages
valid_buses = get_common_bus_packages() if not isinstance(data, dict) or "packages" not in data:
if isinstance(data, dict) and "packages" in data: return result
packages = data["packages"] packages = data["packages"]
if isinstance(packages, dict): if not isinstance(packages, dict):
return result
valid_buses = get_common_bus_packages()
for pkg_name in packages: for pkg_name in packages:
if pkg_name in valid_buses: if pkg_name not in valid_buses:
continue
result["buses"].add(pkg_name) result["buses"].add(pkg_name)
# Add any package dependencies (e.g., modbus includes uart) # Add any package dependencies (e.g., modbus includes uart)
if pkg_name in PACKAGE_DEPENDENCIES: if pkg_name not in PACKAGE_DEPENDENCIES:
continue
for dep in PACKAGE_DEPENDENCIES[pkg_name]: for dep in PACKAGE_DEPENDENCIES[pkg_name]:
if dep in valid_buses: if dep not in valid_buses:
continue
result["buses"].add(dep) result["buses"].add(dep)
return result return result