comparison bitten/notify.py @ 875:a68027e2245d

Add 'Platform' name to build report for web display and notifications. Fixes #541 and #633.
author osimons
date Thu, 21 Oct 2010 08:41:16 +0000
parents a4676056c8d3
children
comparison
equal deleted inserted replaced
874:e695efec5b28 875:a68027e2245d
10 from trac.core import Component, implements 10 from trac.core import Component, implements
11 from trac.web.chrome import ITemplateProvider, Chrome 11 from trac.web.chrome import ITemplateProvider, Chrome
12 from trac.config import BoolOption 12 from trac.config import BoolOption
13 from trac.notification import NotifyEmail 13 from trac.notification import NotifyEmail
14 from bitten.api import IBuildListener 14 from bitten.api import IBuildListener
15 from bitten.model import Build, BuildStep, BuildLog 15 from bitten.model import Build, BuildStep, BuildLog, TargetPlatform
16 16
17 17
18 class BittenNotify(Component): 18 class BittenNotify(Component):
19 """Sends notifications on build status by mail.""" 19 """Sends notifications on build status by mail."""
20 implements(IBuildListener, ITemplateProvider) 20 implements(IBuildListener, ITemplateProvider)
121 return self.env.abs_href.build(self.build.config, self.build.id) 121 return self.env.abs_href.build(self.build.config, self.build.id)
122 122
123 def template_data(self): 123 def template_data(self):
124 failed_steps = BuildStep.select(self.env, build=self.build.id, 124 failed_steps = BuildStep.select(self.env, build=self.build.id,
125 status=BuildStep.FAILURE) 125 status=BuildStep.FAILURE)
126 platform = TargetPlatform.fetch(self.env, id=self.build.platform)
126 change = self.get_changeset() 127 change = self.get_changeset()
127 return { 128 return {
128 'build': { 129 'build': {
129 'id': self.build.id, 130 'id': self.build.id,
130 'status': self.readable_states[self.build.status], 131 'status': self.readable_states[self.build.status],
131 'link': self.build_link(), 132 'link': self.build_link(),
132 'config': self.build.config, 133 'config': self.build.config,
134 'platform': getattr(platform, 'name', 'unknown'),
133 'slave': self.build.slave, 135 'slave': self.build.slave,
134 'failed_steps': [{ 136 'failed_steps': [{
135 'name': step.name, 137 'name': step.name,
136 'description': step.description, 138 'description': step.description,
137 'errors': step.errors, 139 'errors': step.errors,
Copyright (C) 2012-2017 Edgewall Software