From 08b06f9cabffe7750511250526e73205cbe82c40 Mon Sep 17 00:00:00 2001 From: Joshua Roesslein Date: Tue, 17 Nov 2009 11:05:50 +0800 Subject: [PATCH] Better way to perform callable check. Allow callables from context attributes. --- pystache/view.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/pystache/view.py b/pystache/view.py index a7a7de2..5c2fc10 100644 --- a/pystache/view.py +++ b/pystache/view.py @@ -76,15 +76,12 @@ class View(object): return re.sub('[A-Z]', repl, name)[1:] def get(self, attr, default): - if attr in self.context: - return self.context[attr] - elif hasattr(self, attr): - try: - return getattr(self, attr)() - except TypeError: - return getattr(self, attr) + attr = self.context.get(attr, getattr(self, attr, default)) + + if callable(attr): + return attr() else: - return default + return attr def render(self): template = self.load_template()