* tests for push rule pattern matching * tests for acl pattern matching * factor out common `re.escape` * Factor out common re.compile * Factor out common anchoring code * add word_boundary support to `glob_to_regex` * Use `glob_to_regex` in push rule evaluator NB that this drops support for character classes. I don't think anyone ever used them. * Improve efficiency of globs with multiple wildcards The idea here is that we compress multiple `*` globs into a single `.*`. We also need to consider `?`, since `*?*` is as hard to implement efficiently as `**`. * add assertion on regex pattern * Fix mypy * Simplify glob_to_regex * Inline the glob_to_regex helper function Signed-off-by: Dan Callahan <danc@element.io> * Moar comments Signed-off-by: Dan Callahan <danc@element.io> Co-authored-by: Dan Callahan <danc@element.io> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| action_generator.py | ||
| baserules.py | ||
| bulk_push_rule_evaluator.py | ||
| clientformat.py | ||
| emailpusher.py | ||
| httppusher.py | ||
| mailer.py | ||
| presentable_names.py | ||
| push_rule_evaluator.py | ||
| push_tools.py | ||
| pusher.py | ||
| pusherpool.py | ||
| rulekinds.py | ||