def make_msg(build, values, verbose=True, success=lambda x: x, failure=lambda x: x):
values = dict(values)
if not verbose and values['traceback'] is not None:
+ # TODO: better heuristic
values['traceback'] = textwrap.fill('\n'.join(values['traceback'].split('\n')[-2:]))
if build.succeeded:
values['result'] = success(values['result'])
- msg = """Build of %(package)s v%(version)s in %(pocket)s %(result)s.
+ msg = """Build of %(package)s %(version)s in %(pocket)s %(result)s.
Branch %(pocket)s has been advanced to %(short_commit)s.
(Build %(build_id)s was submitted by %(principal)s at %(inserted_at)s.)""" % values
else:
values['result'] = failure(values['result'])
- msg = """Build of %(package)s v%(version)s in %(pocket)s %(result)s while %(failed_stage)s.
+ msg = """Build of %(package)s %(version)s in %(pocket)s %(result)s while %(failed_stage)s.
%(traceback)s
email = text.MIMEText(msg)
email['To'] = to % values
email['From'] = sender % values
- email['Subject'] = mail_config.get('subject', 'XVM build %(build_id)s has %(result)s') % values
+ email['Subject'] = mail_config.get('subject', 'XVM build %(result)s: %(package)s %(version)s in %(pocket)s') % values
common.captureOutput(['sendmail', '-t'], email.as_string(),
stdout=None, stderr=None)