Skip to content

Commit d289c20

Browse files
committed
Use set in expand_dependencies to prevent repetition
1 parent 2ec04c0 commit d289c20

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

src/dodal/beamlines/dm_demo.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -397,20 +397,19 @@ def _expand_dependencies(
397397
be overridden.
398398
399399
Errors:
400-
If a required dependencies is not available as either a device
400+
If a required dependency is not available as either a device
401401
factory or a fixture, a ValueError is raised
402402
"""
403403
dependencies = set()
404-
factories = list(factories)
404+
factories = set(factories)
405405
while factories:
406406
fact = factories.pop()
407407
dependencies.add(fact.name)
408408
options = fact.optional_dependencies
409409
for dep in fact.dependencies:
410410
if dep not in dependencies and dep not in available_fixtures:
411411
if dep in self._factories:
412-
dependencies.add(dep)
413-
factories.append(self[dep])
412+
factories.add(self[dep])
414413
elif dep not in options:
415414
raise ValueError(
416415
f"Missing fixture or factory for {dep}",

0 commit comments

Comments
 (0)