dispatch: report failed imports nicely
authorMatt Mackall <mpm@selenic.com>
Mon, 18 Jun 2007 21:30:27 -0500
changeset 4632 8d46056960ab
parent 4631 e3afa670e484
child 4633 ff7253a0d1da
dispatch: report failed imports nicely
mercurial/cmdutil.py
--- a/mercurial/cmdutil.py	Mon Jun 18 19:43:26 2007 -0500
+++ b/mercurial/cmdutil.py	Mon Jun 18 21:30:27 2007 -0500
@@ -115,6 +115,14 @@
             ui.warn(_(" empty string\n"))
         else:
             ui.warn("\n%r\n" % util.ellipsis(inst[1]))
+    except ImportError, inst:
+        m = str(inst).split()[-1]
+        ui.warn(_("abort: could not import module %s!\n" % m))
+        if m in "mpatch bdiff".split():
+            ui.warn(_("(did you forget to compile extensions?)\n"))
+        elif m in "zlib".split():
+            ui.warn(_("(is your Python install correct?)\n"))
+            
     except util.Abort, inst:
         ui.warn(_("abort: %s\n") % inst)
     except SystemExit, inst: