mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-17 21:11:12 +00:00
add invisible_slots to carriers
This commit is contained in:
@@ -78,6 +78,7 @@ class ItemizedCarrier(ResourcePLR):
|
|||||||
sites: Optional[Dict[Union[int, str], Optional[ResourcePLR]]] = None,
|
sites: Optional[Dict[Union[int, str], Optional[ResourcePLR]]] = None,
|
||||||
category: Optional[str] = "carrier",
|
category: Optional[str] = "carrier",
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
|
invisible_slots: Optional[str] = None,
|
||||||
):
|
):
|
||||||
super().__init__(
|
super().__init__(
|
||||||
name=name,
|
name=name,
|
||||||
@@ -89,6 +90,7 @@ class ItemizedCarrier(ResourcePLR):
|
|||||||
)
|
)
|
||||||
self.num_items = len(sites)
|
self.num_items = len(sites)
|
||||||
self.num_items_x, self.num_items_y, self.num_items_z = num_items_x, num_items_y, num_items_z
|
self.num_items_x, self.num_items_y, self.num_items_z = num_items_x, num_items_y, num_items_z
|
||||||
|
self.invisible_slots = [] if invisible_slots is None else invisible_slots
|
||||||
self.layout = "z-y" if self.num_items_z > 1 and self.num_items_x == 1 else "x-z" if self.num_items_z > 1 and self.num_items_y == 1 else "x-y"
|
self.layout = "z-y" if self.num_items_z > 1 and self.num_items_x == 1 else "x-z" if self.num_items_z > 1 and self.num_items_y == 1 else "x-y"
|
||||||
|
|
||||||
if isinstance(sites, dict):
|
if isinstance(sites, dict):
|
||||||
@@ -410,7 +412,7 @@ class ItemizedCarrier(ResourcePLR):
|
|||||||
"layout": self.layout,
|
"layout": self.layout,
|
||||||
"sites": [{
|
"sites": [{
|
||||||
"label": str(identifier),
|
"label": str(identifier),
|
||||||
"visible": True if self[identifier] is not None else False,
|
"visible": False if identifier in self.invisible_slots else True,
|
||||||
"occupied_by": self[identifier].name
|
"occupied_by": self[identifier].name
|
||||||
if isinstance(self[identifier], ResourcePLR) and not isinstance(self[identifier], ResourceHolder) else
|
if isinstance(self[identifier], ResourcePLR) and not isinstance(self[identifier], ResourceHolder) else
|
||||||
self[identifier] if isinstance(self[identifier], str) else None,
|
self[identifier] if isinstance(self[identifier], str) else None,
|
||||||
@@ -433,6 +435,7 @@ class BottleCarrier(ItemizedCarrier):
|
|||||||
sites: Optional[Dict[Union[int, str], ResourceHolder]] = None,
|
sites: Optional[Dict[Union[int, str], ResourceHolder]] = None,
|
||||||
category: str = "bottle_carrier",
|
category: str = "bottle_carrier",
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
|
invisible_slots: List[str] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
super().__init__(
|
super().__init__(
|
||||||
@@ -443,4 +446,5 @@ class BottleCarrier(ItemizedCarrier):
|
|||||||
sites=sites,
|
sites=sites,
|
||||||
category=category,
|
category=category,
|
||||||
model=model,
|
model=model,
|
||||||
|
invisible_slots=invisible_slots,
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user