Skip to content

Commit 222c5f4

Browse files
committed
Review comments
1 parent 0492e71 commit 222c5f4

2 files changed

Lines changed: 7 additions & 4 deletions

File tree

dfetch/commands/remove.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def __call__(self, args: argparse.Namespace) -> None:
5151

5252
# Pre-validate all projects and collect their destinations
5353
projects_to_remove = []
54-
for project in args.projects:
54+
for project in list(dict.fromkeys(args.projects)):
5555
try:
5656
project_entries = superproject.manifest.selected_projects([project])
5757
destination = project_entries[0].destination

tests/manifest_mock.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,15 @@ def mock_manifest(projects, path: str = "/some/path") -> MagicMock:
2323
def mock_selected_projects(names):
2424
if not names:
2525
return project_mocks
26-
filtered = [p for p in project_mocks if p.name in names]
27-
if len(filtered) != len(names):
26+
deduped_names = list(dict.fromkeys(names))
27+
filtered = [p for p in project_mocks if p.name in deduped_names]
28+
if len(filtered) != len(deduped_names):
2829
from dfetch.manifest.manifest import RequestedProjectNotFoundError
2930

3031
unfound = [
31-
name for name in names if not any(p.name == name for p in project_mocks)
32+
name
33+
for name in deduped_names
34+
if not any(p.name == name for p in project_mocks)
3235
]
3336
possibles = [p.name for p in project_mocks]
3437
raise RequestedProjectNotFoundError(unfound, possibles)

0 commit comments

Comments
 (0)