mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-07 07:25:15 +00:00
fix vessel_id param passing in protocols
This commit is contained in:
@@ -346,7 +346,16 @@ def generate_add_protocol(
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
# 🔧 核心修改:从字典中提取容器ID
|
# 🔧 核心修改:从字典中提取容器ID
|
||||||
vessel_id = vessel["id"]
|
# 统一处理vessel参数
|
||||||
|
if isinstance(vessel, dict):
|
||||||
|
if "id" not in vessel:
|
||||||
|
vessel_id = list(vessel.values())[0].get("id", "")
|
||||||
|
else:
|
||||||
|
vessel_id = vessel.get("id", "")
|
||||||
|
vessel_data = vessel.get("data", {})
|
||||||
|
else:
|
||||||
|
vessel_id = str(vessel)
|
||||||
|
vessel_data = G.nodes[vessel_id].get("data", {}) if vessel_id in G.nodes() else {}
|
||||||
|
|
||||||
# 🔧 修改:更新容器的液体体积(假设有 liquid_volume 字段)
|
# 🔧 修改:更新容器的液体体积(假设有 liquid_volume 字段)
|
||||||
if "data" in vessel and "liquid_volume" in vessel["data"]:
|
if "data" in vessel and "liquid_volume" in vessel["data"]:
|
||||||
|
|||||||
@@ -237,7 +237,10 @@ def generate_adjust_ph_protocol(
|
|||||||
|
|
||||||
# 统一处理vessel参数
|
# 统一处理vessel参数
|
||||||
if isinstance(vessel, dict):
|
if isinstance(vessel, dict):
|
||||||
vessel_id = list(vessel.values())[0].get("id", "")
|
if "id" not in vessel:
|
||||||
|
vessel_id = list(vessel.values())[0].get("id", "")
|
||||||
|
else:
|
||||||
|
vessel_id = vessel.get("id", "")
|
||||||
vessel_data = vessel.get("data", {})
|
vessel_data = vessel.get("data", {})
|
||||||
else:
|
else:
|
||||||
vessel_id = str(vessel)
|
vessel_id = str(vessel)
|
||||||
|
|||||||
@@ -181,7 +181,16 @@ def generate_clean_vessel_protocol(
|
|||||||
clean_protocol = generate_clean_vessel_protocol(G, {"id": "main_reactor"}, "water", 100.0, 60.0, 2)
|
clean_protocol = generate_clean_vessel_protocol(G, {"id": "main_reactor"}, "water", 100.0, 60.0, 2)
|
||||||
"""
|
"""
|
||||||
# 🔧 核心修改:从字典中提取容器ID
|
# 🔧 核心修改:从字典中提取容器ID
|
||||||
vessel_id = vessel["id"]
|
# 统一处理vessel参数
|
||||||
|
if isinstance(vessel, dict):
|
||||||
|
if "id" not in vessel:
|
||||||
|
vessel_id = list(vessel.values())[0].get("id", "")
|
||||||
|
else:
|
||||||
|
vessel_id = vessel.get("id", "")
|
||||||
|
vessel_data = vessel.get("data", {})
|
||||||
|
else:
|
||||||
|
vessel_id = str(vessel)
|
||||||
|
vessel_data = G.nodes[vessel_id].get("data", {}) if vessel_id in G.nodes() else {}
|
||||||
|
|
||||||
action_sequence = []
|
action_sequence = []
|
||||||
|
|
||||||
|
|||||||
@@ -288,7 +288,16 @@ def generate_evacuateandrefill_protocol(
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
# 🔧 核心修改:从字典中提取容器ID
|
# 🔧 核心修改:从字典中提取容器ID
|
||||||
vessel_id = vessel["id"]
|
# 统一处理vessel参数
|
||||||
|
if isinstance(vessel, dict):
|
||||||
|
if "id" not in vessel:
|
||||||
|
vessel_id = list(vessel.values())[0].get("id", "")
|
||||||
|
else:
|
||||||
|
vessel_id = vessel.get("id", "")
|
||||||
|
vessel_data = vessel.get("data", {})
|
||||||
|
else:
|
||||||
|
vessel_id = str(vessel)
|
||||||
|
vessel_data = G.nodes[vessel_id].get("data", {}) if vessel_id in G.nodes() else {}
|
||||||
|
|
||||||
# 硬编码重复次数为 3
|
# 硬编码重复次数为 3
|
||||||
repeats = 3
|
repeats = 3
|
||||||
|
|||||||
@@ -201,7 +201,16 @@ def generate_evaporate_protocol(
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
# 🔧 核心修改:从字典中提取容器ID
|
# 🔧 核心修改:从字典中提取容器ID
|
||||||
vessel_id = vessel["id"]
|
# 统一处理vessel参数
|
||||||
|
if isinstance(vessel, dict):
|
||||||
|
if "id" not in vessel:
|
||||||
|
vessel_id = list(vessel.values())[0].get("id", "")
|
||||||
|
else:
|
||||||
|
vessel_id = vessel.get("id", "")
|
||||||
|
vessel_data = vessel.get("data", {})
|
||||||
|
else:
|
||||||
|
vessel_id = str(vessel)
|
||||||
|
vessel_data = G.nodes[vessel_id].get("data", {}) if vessel_id in G.nodes() else {}
|
||||||
|
|
||||||
debug_print("🌟" * 20)
|
debug_print("🌟" * 20)
|
||||||
debug_print("🌪️ 开始生成蒸发协议(支持单位和体积运算)✨")
|
debug_print("🌪️ 开始生成蒸发协议(支持单位和体积运算)✨")
|
||||||
|
|||||||
@@ -68,7 +68,16 @@ def generate_filter_protocol(
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
# 🔧 核心修改:从字典中提取容器ID
|
# 🔧 核心修改:从字典中提取容器ID
|
||||||
vessel_id = vessel["id"]
|
# 统一处理vessel参数
|
||||||
|
if isinstance(vessel, dict):
|
||||||
|
if "id" not in vessel:
|
||||||
|
vessel_id = list(vessel.values())[0].get("id", "")
|
||||||
|
else:
|
||||||
|
vessel_id = vessel.get("id", "")
|
||||||
|
vessel_data = vessel.get("data", {})
|
||||||
|
else:
|
||||||
|
vessel_id = str(vessel)
|
||||||
|
vessel_data = G.nodes[vessel_id].get("data", {}) if vessel_id in G.nodes() else {}
|
||||||
|
|
||||||
debug_print("🌊" * 20)
|
debug_print("🌊" * 20)
|
||||||
debug_print("🚀 开始生成过滤协议(支持体积运算)✨")
|
debug_print("🚀 开始生成过滤协议(支持体积运算)✨")
|
||||||
|
|||||||
@@ -217,7 +217,16 @@ def generate_heat_chill_protocol(
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
# 🔧 核心修改:从字典中提取容器ID
|
# 🔧 核心修改:从字典中提取容器ID
|
||||||
vessel_id = vessel["id"]
|
# 统一处理vessel参数
|
||||||
|
if isinstance(vessel, dict):
|
||||||
|
if "id" not in vessel:
|
||||||
|
vessel_id = list(vessel.values())[0].get("id", "")
|
||||||
|
else:
|
||||||
|
vessel_id = vessel.get("id", "")
|
||||||
|
vessel_data = vessel.get("data", {})
|
||||||
|
else:
|
||||||
|
vessel_id = str(vessel)
|
||||||
|
vessel_data = G.nodes[vessel_id].get("data", {}) if vessel_id in G.nodes() else {}
|
||||||
|
|
||||||
debug_print("🌡️" * 20)
|
debug_print("🌡️" * 20)
|
||||||
debug_print("🚀 开始生成加热冷却协议(支持vessel字典)✨")
|
debug_print("🚀 开始生成加热冷却协议(支持vessel字典)✨")
|
||||||
|
|||||||
@@ -170,7 +170,16 @@ def generate_hydrogenate_protocol(
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
# 🔧 核心修改:从字典中提取容器ID
|
# 🔧 核心修改:从字典中提取容器ID
|
||||||
vessel_id = vessel["id"]
|
# 统一处理vessel参数
|
||||||
|
if isinstance(vessel, dict):
|
||||||
|
if "id" not in vessel:
|
||||||
|
vessel_id = list(vessel.values())[0].get("id", "")
|
||||||
|
else:
|
||||||
|
vessel_id = vessel.get("id", "")
|
||||||
|
vessel_data = vessel.get("data", {})
|
||||||
|
else:
|
||||||
|
vessel_id = str(vessel)
|
||||||
|
vessel_data = G.nodes[vessel_id].get("data", {}) if vessel_id in G.nodes() else {}
|
||||||
|
|
||||||
action_sequence = []
|
action_sequence = []
|
||||||
|
|
||||||
|
|||||||
@@ -287,7 +287,16 @@ def generate_recrystallize_protocol(
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
# 🔧 核心修改:从字典中提取容器ID
|
# 🔧 核心修改:从字典中提取容器ID
|
||||||
vessel_id = vessel["id"]
|
# 统一处理vessel参数
|
||||||
|
if isinstance(vessel, dict):
|
||||||
|
if "id" not in vessel:
|
||||||
|
vessel_id = list(vessel.values())[0].get("id", "")
|
||||||
|
else:
|
||||||
|
vessel_id = vessel.get("id", "")
|
||||||
|
vessel_data = vessel.get("data", {})
|
||||||
|
else:
|
||||||
|
vessel_id = str(vessel)
|
||||||
|
vessel_data = G.nodes[vessel_id].get("data", {}) if vessel_id in G.nodes() else {}
|
||||||
|
|
||||||
action_sequence = []
|
action_sequence = []
|
||||||
|
|
||||||
|
|||||||
@@ -418,7 +418,16 @@ def generate_separate_protocol(
|
|||||||
raise ValueError("必须提供vessel字典参数")
|
raise ValueError("必须提供vessel字典参数")
|
||||||
|
|
||||||
# 🔧 核心修改:从字典中提取容器ID
|
# 🔧 核心修改:从字典中提取容器ID
|
||||||
vessel_id = vessel["id"]
|
# 统一处理vessel参数
|
||||||
|
if isinstance(vessel, dict):
|
||||||
|
if "id" not in vessel:
|
||||||
|
vessel_id = list(vessel.values())[0].get("id", "")
|
||||||
|
else:
|
||||||
|
vessel_id = vessel.get("id", "")
|
||||||
|
vessel_data = vessel.get("data", {})
|
||||||
|
else:
|
||||||
|
vessel_id = str(vessel)
|
||||||
|
vessel_data = G.nodes[vessel_id].get("data", {}) if vessel_id in G.nodes() else {}
|
||||||
|
|
||||||
debug_print("🌀" * 20)
|
debug_print("🌀" * 20)
|
||||||
debug_print("🚀 开始生成分离协议(支持vessel字典和体积运算)✨")
|
debug_print("🚀 开始生成分离协议(支持vessel字典和体积运算)✨")
|
||||||
|
|||||||
Reference in New Issue
Block a user