diff --git a/src/webqueue2api/parser/parser.py b/src/webqueue2api/parser/parser.py index 664ad12..3683dc7 100644 --- a/src/webqueue2api/parser/parser.py +++ b/src/webqueue2api/parser/parser.py @@ -249,15 +249,16 @@ def error_handler(original_string, match_start_index, tokens): ).leaveWhitespace().setParseAction(parse_section_by_type("reply_to_user")) edit_rule = ( + pp.LineStart() + pp.Literal(edit_start_delimiter).suppress() + pp.Word(pp.alphanums).setResultsName("by") + pp.Literal(" at: ").suppress() + - pp.SkipTo(action_end_delimiter + pp.LineEnd()).setResultsName("datetime") + + pp.Word(pp.nums + "/-: ").setResultsName("datetime") + (pp.Literal(action_end_delimiter) + pp.LineEnd()).suppress() + pp.Group( pp.SkipTo( pp.Literal(reply_from_user_start_delimiter) - | pp.Literal(action_start_delimiter) + | (pp.LineStart() + pp.Literal(action_start_delimiter)) ) | pp.SkipTo(pp.StringEnd(), include=True) ).setResultsName("content") ).leaveWhitespace().setParseAction(parse_section_by_type("edit"))