diff --git a/src/webqueue2api/parser/parser.py b/src/webqueue2api/parser/parser.py index 3683dc7..baa4c2f 100644 --- a/src/webqueue2api/parser/parser.py +++ b/src/webqueue2api/parser/parser.py @@ -235,15 +235,16 @@ def error_handler(original_string, match_start_index, tokens): ).leaveWhitespace().setParseAction(parse_section_by_type("reply_from_user")) reply_to_user_rule = ( + pp.LineStart() + pp.Literal(reply_to_user_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("reply_to_user"))