Merge lp:~johnsca/charm-helpers/hyphen-relations into lp:charm-helpers

Proposed by Cory Johns
Status: Merged
Merged at revision: 497
Proposed branch: lp:~johnsca/charm-helpers/hyphen-relations
Merge into: lp:charm-helpers
Diff against target: 35 lines (+4/-3)
2 files modified
charmhelpers/core/services/helpers.py (+2/-1)
tests/core/test_services.py (+2/-2)
To merge this branch: bzr merge lp:~johnsca/charm-helpers/hyphen-relations
Reviewer Review Type Date Requested Status
Stuart Bishop (community) Approve
Review via email: mp+259836@code.launchpad.net

Description of the change

Quick Services Framework fix to allow templates to access data for relations that have a hyphen in their name. (Having them at the top level means they can't be accessed directly, so they're now nested under a ctx object. The top-level is also maintained for backwards compatibility.)

To post a comment you must log in.
Revision history for this message
MichaƂ Sawicz (saviq) wrote :

Does the job :)

Docs could use an update?

Revision history for this message
Stuart Bishop (stub) wrote :

Shawn and landed.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'charmhelpers/core/services/helpers.py'
--- charmhelpers/core/services/helpers.py 2015-03-19 15:00:13 +0000
+++ charmhelpers/core/services/helpers.py 2015-05-21 19:23:17 +0000
@@ -256,9 +256,10 @@
256256
257 def __call__(self, manager, service_name, event_name):257 def __call__(self, manager, service_name, event_name):
258 service = manager.get_service(service_name)258 service = manager.get_service(service_name)
259 context = {}259 context = {'ctx': {}}
260 for ctx in service.get('required_data', []):260 for ctx in service.get('required_data', []):
261 context.update(ctx)261 context.update(ctx)
262 context['ctx'].update(ctx)
262 templating.render(self.source, self.target, context,263 templating.render(self.source, self.target, context,
263 self.owner, self.group, self.perms)264 self.owner, self.group, self.perms)
264265
265266
=== modified file 'tests/core/test_services.py'
--- tests/core/test_services.py 2015-05-20 14:31:33 +0000
+++ tests/core/test_services.py 2015-05-21 19:23:17 +0000
@@ -728,7 +728,7 @@
728 assert not mtemplating.render.called728 assert not mtemplating.render.called
729 callback(manager, 'test', 'event')729 callback(manager, 'test', 'event')
730 mtemplating.render.assert_called_once_with(730 mtemplating.render.assert_called_once_with(
731 'foo.yml', 'bar.yml', {'foo': 'bar'},731 'foo.yml', 'bar.yml', {'foo': 'bar', 'ctx': {'foo': 'bar'}},
732 'root', 'root', 0o444)732 'root', 'root', 0o444)
733733
734 @mock.patch.object(services.helpers, 'templating')734 @mock.patch.object(services.helpers, 'templating')
@@ -743,7 +743,7 @@
743 assert not mtemplating.render.called743 assert not mtemplating.render.called
744 callback(manager, 'test', 'event')744 callback(manager, 'test', 'event')
745 mtemplating.render.assert_called_once_with(745 mtemplating.render.assert_called_once_with(
746 'foo.yml', 'bar.yml', {'foo': 'bar'},746 'foo.yml', 'bar.yml', {'foo': 'bar', 'ctx': {'foo': 'bar'}},
747 'user', 'group', 0o555)747 'user', 'group', 0o555)
748748
749749

Subscribers

People subscribed via source and target branches