Skip to content

Commit b959145

Browse files
optimize:handle history button (#384)
1 parent fe750d1 commit b959145

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

servers/automata.py

+13
Original file line numberDiff line numberDiff line change
@@ -499,13 +499,26 @@ def prepare_payload(automata: Automata, event_data: MyShellUserInput, sess_state
499499
event_name = None
500500

501501
print("event_name:", event_name)
502+
503+
def check_history_event(e):
504+
if isinstance(event_name, str) and sess_state.event_mapping.get(e) is not None:
505+
return False
506+
tmp = e.split('_')
507+
if len(tmp.split('_')) == 4 and tmp[0] == "MESSAGE" and tmp[2] == "BUTTON":
508+
return True
509+
return False
510+
502511
if event_name is None:
503512
target_state = automata.initial
504513
elif isinstance(event_name, str) and len(event_name.split(':')) == 4 and sess_state.event_mapping.get(
505514
event_name) is None:
506515
# key 满足xxx:xxx:xxx:xxx格式且event_name不存在,则报错Invalid Event
507516
error_message = f"Get event_name from event_mapping failed, KeyError: {event_name}"
508517
raise ShellException("UNKNOWN-9999", "Invalid Event", error_message)
518+
elif isinstance(event_name, str) and check_history_event(event_name):
519+
# key 满足MESSAGE_xx_BUTTON_xx格式且event_name不存在,则报错Historical Event
520+
error_message = f"Get event_name from event_mapping failed, KeyError: {event_name}"
521+
raise ShellException("UNKNOWN-9999", "Historical Event", error_message)
509522
else:
510523
target_state = sess_state.event_mapping[event_name].target_state
511524
payload = {}

0 commit comments

Comments
 (0)