[PATCH 7 of 8] hook: restore use of callable() since it was readded in Python 3.2
Augie Fackler
raf at durin42.com
Tue Jun 24 13:37:43 CDT 2014
# HG changeset patch
# User Augie Fackler <raf at durin42.com>
# Date 1403529878 14400
# Mon Jun 23 09:24:38 2014 -0400
# Node ID 57b09c58165f42eb8eccc7be8ebd89101fb95914
# Parent 2bc882dca6c612558554cd777c9e972b21f6e9c8
hook: restore use of callable() since it was readded in Python 3.2
diff --git a/mercurial/hook.py b/mercurial/hook.py
--- a/mercurial/hook.py
+++ b/mercurial/hook.py
@@ -19,7 +19,7 @@
unmodified commands (e.g. mercurial.commands.update) can
be run as hooks without wrappers to convert return values.'''
- if util.safehasattr(funcname, '__call__'):
+ if callable(funcname):
obj = funcname
funcname = obj.__module__ + "." + obj.__name__
else:
@@ -70,7 +70,7 @@
raise util.Abort(_('%s hook is invalid '
'("%s" is not defined)') %
(hname, funcname))
- if not util.safehasattr(obj, '__call__'):
+ if not callable(obj):
raise util.Abort(_('%s hook is invalid '
'("%s" is not callable)') %
(hname, funcname))
@@ -117,7 +117,7 @@
starttime = time.time()
env = {}
for k, v in args.iteritems():
- if util.safehasattr(v, '__call__'):
+ if callable(v):
v = v()
if isinstance(v, dict):
# make the dictionary element order stable across Python
@@ -184,7 +184,7 @@
# files seem to be bogus, give up on redirecting (WSGI, etc)
pass
- if util.safehasattr(cmd, '__call__'):
+ if callable(cmd):
r = _pythonhook(ui, repo, name, hname, cmd, args, throw) or r
elif cmd.startswith('python:'):
if cmd.count(':') >= 2:
More information about the Mercurial-devel
mailing list