~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/lazy_regex.py

(jelmer) Deprecate Repository.iter_reverse_revision_history(). (Jelmer
 Vernooij)

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
"""Lazily compiled regex objects.
18
18
 
19
 
This module defines a class which creates proxy objects for regex
20
 
compilation.  This allows overriding re.compile() to return lazily compiled
21
 
objects.  
22
 
 
23
 
We do this rather than just providing a new interface so that it will also
24
 
be used by existing Python modules that create regexs.
 
19
This module defines a class which creates proxy objects for regex compilation.
 
20
This allows overriding re.compile() to return lazily compiled objects.
25
21
"""
26
22
 
27
23
import re
71
67
            # cleaner message to the user.
72
68
            raise errors.InvalidPattern('"' + args[0] + '" ' +str(e))
73
69
 
74
 
    def __getstate__(self):
75
 
        """Return the state to use when pickling."""
76
 
        return {
77
 
            "args": self._regex_args,
78
 
            "kwargs": self._regex_kwargs,
79
 
            }
80
 
 
81
 
    def __setstate__(self, dict):
82
 
        """Restore from a pickled state."""
83
 
        self._real_regex = None
84
 
        setattr(self, "_regex_args", dict["args"])
85
 
        setattr(self, "_regex_kwargs", dict["kwargs"])
86
 
 
87
70
    def __getattr__(self, attr):
88
71
        """Return a member from the proxied regex object.
89
72