~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/hooks.py

  • Committer: Martin Packman
  • Date: 2012-02-01 13:24:42 UTC
  • mto: (6437.23.4 2.5)
  • mto: This revision was merged to the branch mainline in revision 6462.
  • Revision ID: martin.packman@canonical.com-20120201132442-ela7jc4mxv4b058o
Treat path for .bzr.log as unicode

Show diffs side-by-side

added added

removed removed

Lines of Context:
106
106
    return pyutils.get_named_object(module_name, member_name)
107
107
 
108
108
 
 
109
@symbol_versioning.deprecated_function(symbol_versioning.deprecated_in((2, 3)))
 
110
def known_hooks_key_to_parent_and_attribute(key):
 
111
    """See KnownHooksRegistry.key_to_parent_and_attribute."""
 
112
    return known_hooks.key_to_parent_and_attribute(key)
 
113
 
 
114
 
109
115
class Hooks(dict):
110
116
    """A dictionary mapping hook name to a list of callables.
111
117
 
147
153
                              deprecated=deprecated, callbacks=callbacks)
148
154
        self[name] = hookpoint
149
155
 
 
156
    @symbol_versioning.deprecated_method(symbol_versioning.deprecated_in((2, 4)))
 
157
    def create_hook(self, hook):
 
158
        """Create a hook which can have callbacks registered for it.
 
159
 
 
160
        :param hook: The hook to create. An object meeting the protocol of
 
161
            bzrlib.hooks.HookPoint. It's name is used as the key for future
 
162
            lookups.
 
163
        """
 
164
        if hook.name in self:
 
165
            raise errors.DuplicateKey(hook.name)
 
166
        self[hook.name] = hook
 
167
 
150
168
    def docs(self):
151
169
        """Generate the documentation for this Hooks instance.
152
170