Skip to content

Commit e3a98a5

Browse files
authored
add containers.list() to see list of all loaded container files (#150)
1 parent 7dfff76 commit e3a98a5

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

opentrons/containers/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from opentrons.containers.persisted_containers import get_persisted_container
2+
from opentrons.containers.persisted_containers import list_container_names
23
from opentrons.containers.placeable import (
34
Deck,
45
Slot,
@@ -37,3 +38,7 @@ def load(container_name, slot, label=None):
3738
label = container_name
3839
protocol = Robot.get_instance()
3940
return protocol.add_container(container_name, slot, label)
41+
42+
43+
def list():
44+
return list_container_names()

opentrons/containers/persisted_containers.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,11 @@ def get_persisted_container(container_name: str) -> Container:
8282
return create_container_obj_from_dict(container_data)
8383

8484

85+
def list_container_names():
86+
c_list = [n for n in persisted_containers_dict.keys()]
87+
return sorted(c_list, key=lambda s: s.lower())
88+
89+
8590
def load_all_persisted_containers():
8691
containers = []
8792
for container_name, container_data in persisted_containers_dict.items():

tests/opentrons/containers/test_containers.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import unittest
22
import math
33

4+
from opentrons import containers
45
from opentrons.containers.placeable import (
56
Container,
67
Well,
@@ -22,6 +23,10 @@ def generate_plate(self, wells, cols, spacing, offset, radius):
2223
c.add(well, name, coordinates)
2324
return c
2425

26+
def test_containers_list(self):
27+
res = containers.list()
28+
self.assertEquals(len(res), 30)
29+
2530
def test_iterator(self):
2631
c = self.generate_plate(4, 2, (5, 5), (0, 0), 5)
2732
res = [well.coordinates() for well in c]

0 commit comments

Comments
 (0)