App.get_project_refs(): Use a set for deduplication #120
1 changed files with 3 additions and 2 deletions
|
|
@ -590,6 +590,7 @@ class App(Base):
|
||||||
if isinstance(keys, str):
|
if isinstance(keys, str):
|
||||||
keys = [keys]
|
keys = [keys]
|
||||||
ret: list[str] = []
|
ret: list[str] = []
|
||||||
|
seen: set[str] = set()
|
||||||
for key in keys:
|
for key in keys:
|
||||||
visited: set[str] = set()
|
visited: set[str] = set()
|
||||||
for name in projects:
|
for name in projects:
|
||||||
|
|
@ -597,9 +598,9 @@ class App(Base):
|
||||||
self.walk_project_deps(
|
self.walk_project_deps(
|
||||||
rr, visited, name, sections, key, add_self, scope, names_only
|
rr, visited, name, sections, key, add_self, scope, names_only
|
||||||
)
|
)
|
||||||
# TODO: this looks like a performance hogger
|
|
||||||
for m in rr:
|
for m in rr:
|
||||||
if m not in ret:
|
if m not in seen:
|
||||||
|
seen.add(m)
|
||||||
ret.append(m)
|
ret.append(m)
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue