mercurial/hook.py
changeset 43503 313e3a279828
parent 43117 8ff1ecfadcd1
child 43671 664e24207728
equal deleted inserted replaced
43502:c093cc6e6c99 43503:313e3a279828
    36     unmodified commands (e.g. mercurial.commands.update) can
    36     unmodified commands (e.g. mercurial.commands.update) can
    37     be run as hooks without wrappers to convert return values.'''
    37     be run as hooks without wrappers to convert return values.'''
    38 
    38 
    39     if callable(funcname):
    39     if callable(funcname):
    40         obj = funcname
    40         obj = funcname
    41         funcname = pycompat.sysbytes(obj.__module__ + r"." + obj.__name__)
    41         funcname = pycompat.sysbytes(obj.__module__ + "." + obj.__name__)
    42     else:
    42     else:
    43         d = funcname.rfind(b'.')
    43         d = funcname.rfind(b'.')
    44         if d == -1:
    44         if d == -1:
    45             raise error.HookLoadError(
    45             raise error.HookLoadError(
    46                 _(b'%s hook is invalid: "%s" not in a module')
    46                 _(b'%s hook is invalid: "%s" not in a module')
    59                 obj = __import__(pycompat.sysstr(modname))
    59                 obj = __import__(pycompat.sysstr(modname))
    60             except (ImportError, SyntaxError):
    60             except (ImportError, SyntaxError):
    61                 e1 = sys.exc_info()
    61                 e1 = sys.exc_info()
    62                 try:
    62                 try:
    63                     # extensions are loaded with hgext_ prefix
    63                     # extensions are loaded with hgext_ prefix
    64                     obj = __import__(r"hgext_%s" % pycompat.sysstr(modname))
    64                     obj = __import__("hgext_%s" % pycompat.sysstr(modname))
    65                 except (ImportError, SyntaxError):
    65                 except (ImportError, SyntaxError):
    66                     e2 = sys.exc_info()
    66                     e2 = sys.exc_info()
    67                     if ui.tracebackflag:
    67                     if ui.tracebackflag:
    68                         ui.warn(
    68                         ui.warn(
    69                             _(
    69                             _(