From abe1f09f2c7eebfccfbf86ca0b16ec6d1711627b Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Sun, 17 May 2015 15:49:16 +1200 Subject: HTTP and websocket requests now have an xN clause to repeat --- libpathod/language/__init__.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'libpathod/language/__init__.py') diff --git a/libpathod/language/__init__.py b/libpathod/language/__init__.py index 36ec19e2..3b7529f0 100644 --- a/libpathod/language/__init__.py +++ b/libpathod/language/__init__.py @@ -31,7 +31,7 @@ def parse_requests(s): except UnicodeError: raise exceptions.ParseException("Spec must be valid ASCII.", 0, 0) try: - return pp.OneOrMore( + reqs = pp.OneOrMore( pp.Or( [ websockets.WebsocketFrame.expr(), @@ -41,6 +41,14 @@ def parse_requests(s): ).parseString(s, parseAll=True) except pp.ParseException, v: raise exceptions.ParseException(v.msg, v.line, v.col) + expanded = [] + for i in reqs: + if i.times: + for j in range(int(i.times.value)): + expanded.append(i.copy()) + else: + expanded.append(i) + return expanded def serve(msg, fp, settings): -- cgit v1.2.3