From bf309fb6febadeaa7884404d97f29b45dbfb7610 Mon Sep 17 00:00:00 2001 From: kb Date: Thu, 13 Jun 2024 17:44:59 +0200 Subject: [PATCH] Testy skadnikow i ilosci --- src/service/dialog_state_monitor.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/service/dialog_state_monitor.py b/src/service/dialog_state_monitor.py index 256406c..1a2f374 100644 --- a/src/service/dialog_state_monitor.py +++ b/src/service/dialog_state_monitor.py @@ -146,15 +146,26 @@ class DialogStateMonitor: self.state['total_cost'] += self.state['constants'][slot.name][value]['price'] if slot.name == "pizza": if new_order.get("pizza"): - new_order[slot.name].append(value) + new_order[slot.name].append({"name": value, "quantity": 1, "ingredient": [], "neg/ingredient": []}) else: - new_order[slot.name] = [value] + new_order[slot.name] = [{"name": value, "quantity": 1, "ingredient": [], "neg/ingredient": []}] elif slot.name == "drink": if new_order.get("drink"): - new_order[slot.name].append(value) + new_order[slot.name].append({"drink": value, "quantity": 1}) else: - new_order[slot.name] = [value] - + new_order[slot.name] = [{"drink": value, "quantity": 1}] + + elif slot.name in ["ingredient", "neg/ingredient"]: + last_order = self.state['belief_state']['order'][-1] + if last_order["name"] == "pizza": + last_order[slot.name].append(value) + elif last_order["name"] == "drink": + last_order[slot.name].append(value) + elif slot.name == "quantity": + if last_order["name"] == "pizza": + last_order[slot.name] = value + elif last_order["name"] == "drink": + last_order[slot.name] = value if len(new_order) > 0: self.state['belief_state']['order'].append(new_order)