~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/lazy_regex.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2011-05-19 10:51:37 UTC
  • mfrom: (5891.1.3 api-docs)
  • Revision ID: pqm@pqm.ubuntu.com-20110519105137-amzagrral2ldm1lq
(spiv) Fix the formatting of more docstrings. (Andrew Bennetts)

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
 
23
23
import re
24
24
 
 
25
from bzrlib import errors
 
26
 
25
27
 
26
28
class LazyRegex(object):
27
29
    """A proxy around a real regex, which won't be compiled until accessed."""
42
44
    def __init__(self, args=(), kwargs={}):
43
45
        """Create a new proxy object, passing in the args to pass to re.compile
44
46
 
45
 
        :param args: The *args to pass to re.compile
46
 
        :param kwargs: The **kwargs to pass to re.compile
 
47
        :param args: The `*args` to pass to re.compile
 
48
        :param kwargs: The `**kwargs` to pass to re.compile
47
49
        """
48
50
        self._real_regex = None
49
51
        self._regex_args = args
58
60
 
59
61
    def _real_re_compile(self, *args, **kwargs):
60
62
        """Thunk over to the original re.compile"""
61
 
        return _real_re_compile(*args, **kwargs)
 
63
        try:
 
64
            return _real_re_compile(*args, **kwargs)
 
65
        except re.error, e:
 
66
            # raise InvalidPattern instead of re.error as this gives a
 
67
            # cleaner message to the user.
 
68
            raise errors.InvalidPattern('"' + args[0] + '" ' +str(e))
62
69
 
63
70
    def __getattr__(self, attr):
64
71
        """Return a member from the proxied regex object.