# HG changeset patch # User Pierre-Yves David # Date 1457692138 0 # Node ID 10252652c6e4f6861b5ea921adf3b5cb275ba4c2 # Parent d5512a0a8ad6ed260cb8eab84843d47d3048d500 extensions: factor import error reporting out To clarify third party extensions lookup, we are about to add a third place where extensions are searched for. So we factor the error reporting logic out to be able to easily reuse it in the next patch. diff -r d5512a0a8ad6 -r 10252652c6e4 mercurial/extensions.py --- a/mercurial/extensions.py Fri Mar 11 10:24:54 2016 +0000 +++ b/mercurial/extensions.py Fri Mar 11 10:28:58 2016 +0000 @@ -79,6 +79,12 @@ mod = getattr(mod, comp) return mod +def _reportimporterror(ui, err, failed, next): + ui.debug('could not import %s (%s): trying %s\n' + % (failed, err, next)) + if ui.debugflag: + ui.traceback() + def load(ui, name, path): if name.startswith('hgext.') or name.startswith('hgext/'): shortname = name[6:] @@ -98,10 +104,7 @@ try: mod = _importh("hgext.%s" % name) except ImportError as err: - ui.debug('could not import hgext.%s (%s): trying %s\n' - % (name, err, name)) - if ui.debugflag: - ui.traceback() + _reportimporterror(ui, err, "hgext.%s" % name, name) mod = _importh(name) # Before we do anything with the extension, check against minimum stated