templater: restore use of callable() since it was readded in Python 3.2
authorAugie Fackler <raf@durin42.com>
Mon, 23 Jun 2014 09:24:56 -0400
changeset 21798 f2c617ff2abc
parent 21797 b009dd135aa0
child 21799 dfacdd6a111e
templater: restore use of callable() since it was readded in Python 3.2
mercurial/templater.py
--- a/mercurial/templater.py	Mon Jun 23 09:24:38 2014 -0400
+++ b/mercurial/templater.py	Mon Jun 23 09:24:56 2014 -0400
@@ -148,7 +148,7 @@
             v = context.process(key, mapping)
         except TemplateNotFound:
             v = ''
-    if util.safehasattr(v, '__call__'):
+    if callable(v):
         return v(**mapping)
     if isinstance(v, types.GeneratorType):
         v = list(v)
@@ -185,7 +185,7 @@
 def runmap(context, mapping, data):
     func, data, ctmpl = data
     d = func(context, mapping, data)
-    if util.safehasattr(d, '__call__'):
+    if callable(d):
         d = d()
 
     lm = mapping.copy()
@@ -335,7 +335,7 @@
         raise error.ParseError(_("join expects one or two arguments"))
 
     joinset = args[0][0](context, mapping, args[0][1])
-    if util.safehasattr(joinset, '__call__'):
+    if callable(joinset):
         jf = joinset.joinfmt
         joinset = [jf(x) for x in joinset()]