only import mysql module if hook used.
authorVadim Gelfer <vadim.gelfer@gmail.com>
Wed, 03 May 2006 14:56:07 -0700
changeset 2218 afe24f5b7a9e
parent 2192 2be3ac7abc21
child 2219 ec82cff7d2c4
only import mysql module if hook used.
hgext/bugzilla.py
--- a/hgext/bugzilla.py	Wed May 03 14:40:39 2006 -0700
+++ b/hgext/bugzilla.py	Wed May 03 14:56:07 2006 -0700
@@ -44,10 +44,7 @@
 from mercurial.node import *
 demandload(globals(), 'cStringIO mercurial:templater,util os re time')
 
-try:
-    import MySQLdb
-except ImportError:
-    raise util.Abort(_('python mysql support not available'))
+MySQLdb = None
 
 def buglist(ids):
     return '(' + ','.join(map(str, ids)) + ')'
@@ -275,6 +272,13 @@
     '''add comment to bugzilla for each changeset that refers to a
     bugzilla bug id. only add a comment once per bug, so same change
     seen multiple times does not fill bug with duplicate data.'''
+    try:
+        import MySQLdb as mysql
+        global MySQLdb
+        MySQLdb = mysql
+    except ImportError, err:
+        raise util.Abort(_('python mysql support not available: %s') % err)
+
     if node is None:
         raise util.Abort(_('hook type %s does not pass a changeset id') %
                          hooktype)