Ejemplo n.º 1
0
 def test_string_match_flags(self):
     regex = pattern_as_regex(r'(foo)*',
                              allow_wildcards=False,
                              flags=re.MULTILINE | re.IGNORECASE)
     self.assertEqual(r'\(foo\)\*', regex.pattern)
     self.assertTrue(regex.flags & re.IGNORECASE)
     self.assertTrue(regex.flags & re.MULTILINE)
Ejemplo n.º 2
0
 def test_wildcard_flags(self):
     regex = pattern_as_regex(r'(foo)*',
                              allow_wildcards=True,
                              flags=re.MULTILINE | re.IGNORECASE)
     self.assertEqual(r'^\(foo\).*$', regex.pattern)
     self.assertTrue(regex.flags & re.IGNORECASE)
     self.assertTrue(regex.flags & re.MULTILINE)
Ejemplo n.º 3
0
def func_performer(parser, pattern="", join=", "):
    values = []
    try:
        regex = pattern_as_regex(pattern, allow_wildcards=False)
    except re.error:
        return ''
    for name, value in parser.context.items():
        if name.startswith("performer:"):
            name, performance = name.split(':', 1)
            if regex.search(performance):
                values.append(value)
    return join.join(values)
Ejemplo n.º 4
0
 def __init__(self, filters):
     self.errors = dict()
     self.match_regexes = defaultdict(list)
     for lineno, line in enumerate(filters.splitlines()):
         line = line.strip()
         if line and line[0] in ('+', '-'):
             _list = line[0]
             remain = line[1:].strip()
             if not remain:
                 continue
             try:
                 regex_search = pattern_as_regex(remain, allow_wildcards=True, flags=re.IGNORECASE)
                 self.match_regexes[_list].append(regex_search)
             except re.error as e:
                 log.error("Failed to compile regex /%s/: %s", remain, e)
                 self.errors[lineno] = str(e)
Ejemplo n.º 5
0
 def test_regex_raises(self):
     with self.assertRaises(re.error):
         pattern_as_regex(r'/^foo(.*/')
Ejemplo n.º 6
0
 def test_regex_extra_flags(self):
     regex = pattern_as_regex(r'/^foo.*/im', flags=re.VERBOSE)
     self.assertEqual(r'^foo.*', regex.pattern)
     self.assertTrue(regex.flags & re.VERBOSE)
     self.assertTrue(regex.flags & re.IGNORECASE)
     self.assertTrue(regex.flags & re.MULTILINE)
Ejemplo n.º 7
0
 def test_regex(self):
     regex = pattern_as_regex(r'/^foo.*/')
     self.assertEqual(r'^foo.*', regex.pattern)
     self.assertFalse(regex.flags & re.IGNORECASE)
     self.assertFalse(regex.flags & re.MULTILINE)
Ejemplo n.º 8
0
 def test_wildcard(self):
     regex = pattern_as_regex(r'(foo?)\\*\?\*', allow_wildcards=True)
     self.assertEqual(r'^\(foo.\)\\.*\?\*$', regex.pattern)
     self.assertFalse(regex.flags & re.IGNORECASE)
     self.assertFalse(regex.flags & re.MULTILINE)