~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/bugtracker.py

  • Committer: Patch Queue Manager
  • Date: 2014-09-22 19:14:34 UTC
  • mfrom: (6598.1.2 bzr)
  • Revision ID: pqm@pqm.ubuntu.com-20140922191434-6bbnpnxi5jab4vim
(richard-wilbur) Allows launchpad APIs to use proxies by default(Paul Gear).
 (Paul Gear)

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
 
17
from __future__ import absolute_import
 
18
 
17
19
from bzrlib import registry
18
20
from bzrlib.lazy_import import lazy_import
19
21
lazy_import(globals(), """
48
50
 
49
51
    bzr commit --fixes <tracker>:<id>
50
52
 
 
53
or::
 
54
 
 
55
    bzr commit --fixes <id>
 
56
 
51
57
where "<tracker>" is an identifier for the bug tracker, and "<id>" is the
52
58
identifier for that bug within the bugtracker, usually the bug number.
 
59
If "<tracker>" is not specified the ``bugtracker`` set in the branch
 
60
or global configuration is used.
53
61
 
54
62
Bazaar knows about a few bug trackers that have many users. If
55
63
you use one of these bug trackers then there is no setup required to
231
239
 
232
240
 
233
241
tracker_registry.register('gnome',
234
 
    UniqueIntegerBugTracker('gnome', 'http://bugzilla.gnome.org/show_bug.cgi?id='))
 
242
    UniqueIntegerBugTracker('gnome',
 
243
                            'http://bugzilla.gnome.org/show_bug.cgi?id='))
235
244
 
236
245
 
237
246
class URLParametrizedBugTracker(BugTracker):
246
255
    def get(self, abbreviation, branch):
247
256
        config = branch.get_config()
248
257
        url = config.get_user_option(
249
 
            "%s_%s_url" % (self.type_name, abbreviation))
 
258
            "%s_%s_url" % (self.type_name, abbreviation), expand=False)
250
259
        if url is None:
251
260
            return None
252
261
        self._base_url = url
261
270
        return urlutils.join(self._base_url, self._bug_area) + str(bug_id)
262
271
 
263
272
 
264
 
class URLParametrizedIntegerBugTracker(IntegerBugTracker, URLParametrizedBugTracker):
265
 
    """A type of bug tracker that can be found on a variety of different sites,
266
 
    and thus needs to have the base URL configured, but only allows integer bug IDs.
 
273
class URLParametrizedIntegerBugTracker(IntegerBugTracker,
 
274
                                       URLParametrizedBugTracker):
 
275
    """A type of bug tracker that  only allows integer bug IDs.
 
276
 
 
277
    This can be found on a variety of different sites, and thus needs to have
 
278
    the base URL configured.
267
279
 
268
280
    Looks for a config setting in the form '<type_name>_<abbreviation>_url'.
269
281
    `type_name` is the name of the type of tracker (e.g. 'bugzilla' or 'trac')