From d09b0fd78629cfbf89ea7719c474ad35aaed49af Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Tue, 12 Aug 2014 13:06:37 +0200 Subject: [PATCH] provide new method for merging macros from different templates --- browser/controller.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/browser/controller.py b/browser/controller.py index 6253d23..ce64f81 100644 --- a/browser/controller.py +++ b/browser/controller.py @@ -40,10 +40,10 @@ class Controller(object): self.context = context.context self.request = request self.params = Jeep() + self.templates = {} self.configure() #self.view.setupController() self.view.controller = self # notify the view - self.templates = {} skin = None # may be overwritten by the view @@ -83,6 +83,15 @@ class Controller(object): template = default return template.macros + def mergeTemplateMacros(self, name, *bases): + result = {} + for base in bases: + result.update(base.macros) + template = self.templates.get(name) + if template is not None: + result.update(template.macros) + return result + class Macros(dict):