Skip to content

Commit 3f27131

Browse files
authored
use_channels must be unique (#589)
1 parent 7d84248 commit 3f27131

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

pylabrobot/liquid_handling/liquid_handler.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -420,11 +420,9 @@ async def pick_up_tips(
420420
raise TypeError(f"Resources must be `TipSpot`s, got {not_tip_spots}")
421421

422422
# fix arguments
423-
if use_channels is None:
424-
if self._default_use_channels is None:
425-
use_channels = list(range(len(tip_spots)))
426-
else:
427-
use_channels = self._default_use_channels
423+
use_channels = use_channels or self._default_use_channels or list(range(len(tip_spots)))
424+
assert len(set(use_channels)) == len(use_channels), "Channels must be unique."
425+
428426
tips = [tip_spot.get_tip() for tip_spot in tip_spots]
429427

430428
if not all(
@@ -556,11 +554,9 @@ async def drop_tips(
556554
raise TypeError(f"Resources must be `TipSpot`s or Trash, got {not_tip_spots}")
557555

558556
# fix arguments
559-
if use_channels is None:
560-
if self._default_use_channels is None:
561-
use_channels = list(range(len(tip_spots)))
562-
else:
563-
use_channels = self._default_use_channels
557+
use_channels = use_channels or self._default_use_channels or list(range(len(tip_spots)))
558+
assert len(set(use_channels)) == len(use_channels), "Channels must be unique."
559+
564560
tips = []
565561
for channel in use_channels:
566562
tip = self.head[channel].get_tip()
@@ -830,6 +826,7 @@ async def aspirate(
830826
self._check_containers(resources)
831827

832828
use_channels = use_channels or self._default_use_channels or list(range(len(resources)))
829+
assert len(set(use_channels)) == len(use_channels), "Channels must be unique."
833830

834831
# expand default arguments
835832
offsets = offsets or [Coordinate.zero()] * len(use_channels)
@@ -1043,6 +1040,7 @@ async def dispense(
10431040
self._check_containers(resources)
10441041

10451042
use_channels = use_channels or self._default_use_channels or list(range(len(resources)))
1043+
assert len(set(use_channels)) == len(use_channels), "Channels must be unique."
10461044

10471045
# expand default arguments
10481046
offsets = offsets or [Coordinate.zero()] * len(use_channels)

0 commit comments

Comments
 (0)