Mercurial > hg
comparison hgext/bugzilla.py @ 10481:3062af0ba177 stable
bugzilla: revert unhelpful check-code changes, module is actually called MySQLdb
author | Dirkjan Ochtman <dirkjan@ochtman.nl> |
---|---|
date | Mon, 15 Feb 2010 09:57:11 +0100 |
parents | ea7a14ca118a |
children | 34cc8b84407f |
comparison
equal
deleted
inserted
replaced
10480:3076b39d7f3e | 10481:3062af0ba177 |
---|---|
143 from mercurial.i18n import _ | 143 from mercurial.i18n import _ |
144 from mercurial.node import short | 144 from mercurial.node import short |
145 from mercurial import cmdutil, templater, util | 145 from mercurial import cmdutil, templater, util |
146 import re, time | 146 import re, time |
147 | 147 |
148 mysqldb = None | 148 MySQLdb = None |
149 | 149 |
150 def buglist(ids): | 150 def buglist(ids): |
151 return '(' + ','.join(map(str, ids)) + ')' | 151 return '(' + ','.join(map(str, ids)) + ')' |
152 | 152 |
153 class bugzilla_2_16(object): | 153 class bugzilla_2_16(object): |
163 usermap = self.ui.config('bugzilla', 'usermap') | 163 usermap = self.ui.config('bugzilla', 'usermap') |
164 if usermap: | 164 if usermap: |
165 self.ui.readconfig(usermap, sections=['usermap']) | 165 self.ui.readconfig(usermap, sections=['usermap']) |
166 self.ui.note(_('connecting to %s:%s as %s, password %s\n') % | 166 self.ui.note(_('connecting to %s:%s as %s, password %s\n') % |
167 (host, db, user, '*' * len(passwd))) | 167 (host, db, user, '*' * len(passwd))) |
168 self.conn = mysqldb.connect(host=host, user=user, passwd=passwd, | 168 self.conn = MySQLdb.connect(host=host, user=user, passwd=passwd, |
169 db=db, connect_timeout=timeout) | 169 db=db, connect_timeout=timeout) |
170 self.cursor = self.conn.cursor() | 170 self.cursor = self.conn.cursor() |
171 self.longdesc_id = self.get_longdesc_id() | 171 self.longdesc_id = self.get_longdesc_id() |
172 self.user_ids = {} | 172 self.user_ids = {} |
173 self.default_notify = "cd %(bzdir)s && ./processmail %(id)s %(user)s" | 173 self.default_notify = "cd %(bzdir)s && ./processmail %(id)s %(user)s" |
175 def run(self, *args, **kwargs): | 175 def run(self, *args, **kwargs): |
176 '''run a query.''' | 176 '''run a query.''' |
177 self.ui.note(_('query: %s %s\n') % (args, kwargs)) | 177 self.ui.note(_('query: %s %s\n') % (args, kwargs)) |
178 try: | 178 try: |
179 self.cursor.execute(*args, **kwargs) | 179 self.cursor.execute(*args, **kwargs) |
180 except mysqldb.MySQLError: | 180 except MySQLdb.MySQLError: |
181 self.ui.note(_('failed query: %s %s\n') % (args, kwargs)) | 181 self.ui.note(_('failed query: %s %s\n') % (args, kwargs)) |
182 raise | 182 raise |
183 | 183 |
184 def get_longdesc_id(self): | 184 def get_longdesc_id(self): |
185 '''get identity of longdesc field''' | 185 '''get identity of longdesc field''' |
417 def hook(ui, repo, hooktype, node=None, **kwargs): | 417 def hook(ui, repo, hooktype, node=None, **kwargs): |
418 '''add comment to bugzilla for each changeset that refers to a | 418 '''add comment to bugzilla for each changeset that refers to a |
419 bugzilla bug id. only add a comment once per bug, so same change | 419 bugzilla bug id. only add a comment once per bug, so same change |
420 seen multiple times does not fill bug with duplicate data.''' | 420 seen multiple times does not fill bug with duplicate data.''' |
421 try: | 421 try: |
422 import mysqldb as mysql | 422 import MySQLdb as mysql |
423 global mysqldb | 423 global MySQLdb |
424 mysqldb = mysql | 424 MySQLdb = mysql |
425 except ImportError, err: | 425 except ImportError, err: |
426 raise util.Abort(_('python mysql support not available: %s') % err) | 426 raise util.Abort(_('python mysql support not available: %s') % err) |
427 | 427 |
428 if node is None: | 428 if node is None: |
429 raise util.Abort(_('hook type %s does not pass a changeset id') % | 429 raise util.Abort(_('hook type %s does not pass a changeset id') % |
434 ids = bz.find_bug_ids(ctx) | 434 ids = bz.find_bug_ids(ctx) |
435 if ids: | 435 if ids: |
436 for id in ids: | 436 for id in ids: |
437 bz.update(id, ctx) | 437 bz.update(id, ctx) |
438 bz.notify(ids, util.email(ctx.user())) | 438 bz.notify(ids, util.email(ctx.user())) |
439 except mysqldb.MySQLError, err: | 439 except MySQLdb.MySQLError, err: |
440 raise util.Abort(_('database error: %s') % err[1]) | 440 raise util.Abort(_('database error: %s') % err[1]) |
441 | 441 |