2022-08-28 13:42:55 -07:00
|
|
|
with open("core/requirements_test_all.txt") as f:
|
|
|
|
|
lines = f.readlines()
|
|
|
|
|
|
|
|
|
|
components = []
|
|
|
|
|
packages = []
|
|
|
|
|
deps = {}
|
|
|
|
|
for i, line in enumerate(lines):
|
|
|
|
|
line = line.strip()
|
|
|
|
|
if line.startswith("# homeassistant."):
|
|
|
|
|
component = line.split("# homeassistant.")[1]
|
|
|
|
|
components.append(component)
|
|
|
|
|
elif components and line:
|
|
|
|
|
packages.append(line)
|
|
|
|
|
else:
|
|
|
|
|
for component in components:
|
|
|
|
|
for package in packages:
|
|
|
|
|
deps.setdefault(component, []).append(package)
|
|
|
|
|
components = []
|
|
|
|
|
packages = []
|
|
|
|
|
|
2022-08-28 22:28:36 -07:00
|
|
|
required = [
|
|
|
|
|
"components.recorder",
|
|
|
|
|
"components.mqtt",
|
|
|
|
|
"components.zeroconf",
|
|
|
|
|
"components.http",
|
2022-11-06 12:30:20 -08:00
|
|
|
"components.stream",
|
2023-03-26 17:04:13 -05:00
|
|
|
"components.conversation",
|
2022-08-28 22:28:36 -07:00
|
|
|
]
|
2022-08-28 13:42:55 -07:00
|
|
|
to_install = []
|
|
|
|
|
for r in required:
|
|
|
|
|
to_install.extend(deps[r])
|
|
|
|
|
print(" ".join(to_install))
|