Expand Flow.match to accept either a string or a compiled filter expression.

This commit is contained in:
Aldo Cortesi
2012-09-14 09:41:01 +12:00
parent 54cee9db7f
commit d115b5ae70
2 changed files with 13 additions and 3 deletions

View File

@@ -1092,7 +1092,14 @@ class Flow:
"""
Match this flow against a compiled filter expression. Returns True
if matched, False if not.
If f is a string, it will be compiled as a filter expression. If
the expression is invalid, ValueError is raised.
"""
if isinstance(f, basestring):
f = filt.parse(f)
if not f:
raise ValueError("Invalid filter expression.")
if f:
return f(self)
return True