diff --git a/src/webqueue2api/parser/parser.py b/src/webqueue2api/parser/parser.py index 3010939..7afb665 100644 --- a/src/webqueue2api/parser/parser.py +++ b/src/webqueue2api/parser/parser.py @@ -148,7 +148,19 @@ def error_handler(original_string, match_start_index, tokens): 'datetime': format_date_string(str(datetime.datetime.now())), } - if token_string == reply_from_user_start_delimiter: + if token_string == reply_from_user_start_delimiter and \ + reply_from_user_end_delimiter in original_string[match_start_index:]: + + expected_token = "\n\n" + line_number = original_string[:original_string[match_start_index:].find(reply_from_user_end_delimiter) + match_start_index].count("\n") + 1 + + parse_error["expected"] = expected_token + parse_error["got"] = reply_from_user_end_delimiter + parse_error["line_num"] = line_number + parsed_item.append(parse_error) + raise ParseError(line_number, f"No reply from user end delimiter found") + + elif token_string == reply_from_user_start_delimiter: expected_token = reply_from_user_end_delimiter line_number = original_string.count('\n') + 1