~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/bugtracker.py

  • Committer: James Westby
  • Date: 2008-03-29 13:29:10 UTC
  • mto: (3329.1.1 ianc-integration)
  • mto: This revision was merged to the branch mainline in revision 3331.
  • Revision ID: jw+debian@jameswestby.net-20080329132910-mbadf1n5fpdxc7g8
No longer add an extra class to accomoadate gnome.

This changes the requirement of UniqueIntegerBugTracker to have a /
at the end of the base URL if it is needed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
171
171
    """A style of bug tracker that exists in one place only, such as Launchpad.
172
172
 
173
173
    If you have one of these trackers then register an instance passing in an
174
 
    abbreviated name for the bug tracker and a base URL.
 
174
    abbreviated name for the bug tracker and a base URL. The bug ids are
 
175
    appended directly to the URL.
175
176
    """
176
177
 
177
178
    def __init__(self, abbreviated_bugtracker_name, base_url):
187
188
 
188
189
    def _get_bug_url(self, bug_id):
189
190
        """Return the URL for bug_id."""
190
 
        return urlutils.join(self.base_url, bug_id)
 
191
        return self.base_url + bug_id
191
192
 
192
193
 
193
194
tracker_registry.register(
198
199
    'debian', UniqueIntegerBugTracker('deb', 'http://bugs.debian.org/'))
199
200
 
200
201
 
 
202
tracker_registry.register('gnome',
 
203
    UniqueIntegerBugTracker('gnome', 'http://bugzilla.gnome.org/show_bug.cgi?id='))
 
204
 
 
205
 
201
206
class URLParametrizedIntegerBugTracker(IntegerBugTracker):
202
207
    """A type of bug tracker that can be found on a variety of different sites,
203
208
    and thus needs to have the base URL configured.
234
239
    URLParametrizedIntegerBugTracker('bugzilla', 'show_bug.cgi?id='))
235
240
 
236
241
 
237
 
class FixedBaseURLIntegerBugTracker(URLParametrizedIntegerBugTracker):
238
 
 
239
 
    def get(self, abbreviation, branch):
240
 
        if abbreviation != self.type_name:
241
 
            return None
242
 
        return self
243
 
 
244
 
    def __init__(self, type_name, bug_area, base_url):
245
 
        self.type_name = type_name
246
 
        self._bug_area = bug_area
247
 
        self._base_url = base_url
248
 
 
249
 
 
250
 
tracker_registry.register('gnome',
251
 
    FixedBaseURLIntegerBugTracker('gnome', 'show_bug.cgi?id=',
252
 
        "http://bugzilla.gnome.org"))
253
 
 
254
 
 
255
242
class GenericBugTracker(URLParametrizedIntegerBugTracker):
256
243
    """Generic bug tracker specified by an URL template."""
257
244