/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/lazy_regex.py

  • Committer: Martin
  • Date: 2018-11-16 19:09:31 UTC
  • mfrom: (7175 work)
  • mto: This revision was merged to the branch mainline in revision 7177.
  • Revision ID: gzlist@googlemail.com-20181116190931-rmh7pk2an1zuecby
Merge trunk to resolve conflicts

Show diffs side-by-side

added added

removed removed

Lines of Context:
42
42
class LazyRegex(object):
43
43
    """A proxy around a real regex, which won't be compiled until accessed."""
44
44
 
45
 
 
46
45
    # These are the parameters on a real _sre.SRE_Pattern object, which we
47
46
    # will map to local members so that we don't have the proxy overhead.
48
47
    _regex_attributes_to_copy = [
49
 
                 '__copy__', '__deepcopy__', 'findall', 'finditer', 'match',
50
 
                 'scanner', 'search', 'split', 'sub', 'subn'
51
 
                 ]
 
48
        '__copy__', '__deepcopy__', 'findall', 'finditer', 'match',
 
49
        'scanner', 'search', 'split', 'sub', 'subn'
 
50
        ]
52
51
 
53
52
    # We use slots to keep the overhead low. But we need a slot entry for
54
53
    # all of the attributes we will copy
55
54
    __slots__ = ['_real_regex', '_regex_args', '_regex_kwargs',
56
 
                ] + _regex_attributes_to_copy
 
55
                 ] + _regex_attributes_to_copy
57
56
 
58
57
    def __init__(self, args, kwargs):
59
58
        """Create a new proxy object, passing in the args to pass to re.compile
79
78
        except re.error as e:
80
79
            # raise InvalidPattern instead of re.error as this gives a
81
80
            # cleaner message to the user.
82
 
            raise InvalidPattern('"' + args[0] + '" ' +str(e))
 
81
            raise InvalidPattern('"' + args[0] + '" ' + str(e))
83
82
 
84
83
    def __getstate__(self):
85
84
        """Return the state to use when pickling."""