147
147
'squid' or 'apache').
153
def get(klass, abbreviation, branch):
150
def get(self, abbreviation, branch):
154
151
config = branch.get_config()
155
152
url = config.get_user_option(
156
"%s_%s_url" % (klass.type_name, abbreviation))
153
"%s_%s_url" % (self.type_name, abbreviation))
161
def __init__(self, url):
162
156
self._base_url = url
165
class TracTracker(URLParametrizedIntegerBugTracker):
166
"""A Trac instance."""
159
def __init__(self, type_name, bug_area):
160
self.type_name = type_name
161
self._bug_area = bug_area
170
163
def _get_bug_url(self, bug_id):
171
164
"""Return a URL for a bug on this Trac instance."""
172
return urlutils.join(self._base_url, 'ticket', bug_id)
174
tracker_registry.register('trac', TracTracker)
177
class BugzillaTracker(URLParametrizedIntegerBugTracker):
178
"""A Bugzilla instance."""
180
type_name = 'bugzilla'
182
def _get_bug_url(self, bug_id):
183
"""Return a URL for a bug on this Bugzilla instance."""
184
return "%s/show_bug.cgi?id=%s" % (self._base_url, bug_id)
186
tracker_registry.register('bugzilla', BugzillaTracker)
165
return urlutils.join(self._base_url, self._bug_area) + str(bug_id)
168
tracker_registry.register(
169
'trac', URLParametrizedIntegerBugTracker('trac', 'ticket/'))
171
tracker_registry.register(
173
URLParametrizedIntegerBugTracker('bugzilla', 'show_bug.cgi?id='))