Merge lp:~jelmer/lpreview-body/lazy-hooks into lp:lpreview-body

Proposed by Jelmer Vernooij
Status: Merged
Approved by: Jelmer Vernooij
Approved revision: 22
Merged at revision: 22
Proposed branch: lp:~jelmer/lpreview-body/lazy-hooks
Merge into: lp:lpreview-body
Diff against target: 65 lines (+27/-16)
1 file modified
__init__.py (+27/-16)
To merge this branch: bzr merge lp:~jelmer/lpreview-body/lazy-hooks
Reviewer Review Type Date Requested Status
j.c.sackett (community) Approve
Review via email: mp+50471@code.launchpad.net

Description of the change

If the current version of bzr supports it, lazily install the hooks.

To post a comment you must log in.
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

The right functions have now landed in bzr.dev.

Revision history for this message
j.c.sackett (jcsackett) wrote :

Nice and straightforward. Looks good to me.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file '__init__.py'
--- __init__.py 2010-08-04 10:58:33 +0000
+++ __init__.py 2011-02-19 21:07:17 +0000
@@ -16,8 +16,7 @@
1616
17"""Provide review message bodies for proposed merges to Launchpad itself."""17"""Provide review message bodies for proposed merges to Launchpad itself."""
1818
19from bzrlib import commands, merge_directive19from bzrlib import commands
20
2120
22def shim(params):21def shim(params):
23 from body_callback import body_callback22 from body_callback import body_callback
@@ -31,25 +30,37 @@
31 hook_params['old_body'])30 hook_params['old_body'])
3231
3332
34if getattr(merge_directive.MergeDirective, 'hooks', None) is not None:
35 merge_directive.MergeDirective.hooks.install_named_hook(
36 'merge_request_body',
37 shim, 'Generate a message body for Launchpad merge requests.'
38 )
39try:33try:
40 from bzrlib.plugins.launchpad import lp_propose34 from bzrlib.hooks import install_lazy_named_hook
41except ImportError:35except ImportError: # bzr < 2.4
42 pass36 from bzrlib import merge_directive
37 if getattr(merge_directive.MergeDirective, 'hooks', None) is not None:
38 merge_directive.MergeDirective.hooks.install_named_hook(
39 'merge_request_body',
40 shim, 'Generate a message body for Launchpad merge requests.'
41 )
42 try:
43 from bzrlib.plugins.launchpad import lp_propose
44 except ImportError:
45 pass
46 else:
47 lp_propose.Proposer.hooks.install_named_hook(
48 'merge_proposal_body',
49 proposer_callback,
50 'Generate a message body for Launchpad merge requests.'
51 )
43else:52else:
44 lp_propose.Proposer.hooks.install_named_hook(53 install_lazy_named_hook(
45 'merge_proposal_body',54 "bzrlib.merge_directive", "MergeDirective.hooks",
46 proposer_callback,55 'merge_request_body',
47 'Generate a message body for Launchpad merge requests.'56 shim, 'Generate a message body for Launchpad merge requests.')
48 )57 install_lazy_named_hook(
58 "bzrlib.plugins.launcjpad.lp_propose", "Proposer.hooks",
59 'merge_proposal_body', proposer_callback,
60 'Generate a message body for Launchpad merge requests.')
4961
5062
51commands.plugin_cmds.register_lazy(63commands.plugin_cmds.register_lazy(
52 'cmd_qa_ready', [], 'bzrlib.plugins.lpreview_body.qa_ready')64 'cmd_qa_ready', [], 'bzrlib.plugins.lpreview_body.qa_ready')
53
54commands.plugin_cmds.register_lazy(65commands.plugin_cmds.register_lazy(
55 'cmd_lp_link_bug', [], 'bzrlib.plugins.lpreview_body.link_bug')66 'cmd_lp_link_bug', [], 'bzrlib.plugins.lpreview_body.link_bug')

Subscribers

People subscribed via source and target branches

to all changes: