mirror of
https://github.com/esphome/esphome.git
synced 2025-10-13 15:23:49 +01:00
handle packages as list
This commit is contained in:
@@ -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
|
||||||
|
Reference in New Issue
Block a user