def mail(self): ticket = self._ticket pullreq = self._pullreq target = self._target deltacommits = self._deltacommits sender = self._sender if len(deltacommits) > COMMIT_LIMIT: more = self.domain("/%s/compare/%s...%s" % ( pullreq.to_proj.name, deltacommits[-COMMIT_LIMIT-1].sha, deltacommits[0].sha,)) more_count = len(deltacommits) - COMMIT_LIMIT delta_commits = [(c.author.name, c.shortlog, self.domain(c.url), c.shortsha) for c in reversed(deltacommits[-COMMIT_LIMIT:])] hook_url = self.hook_url ticket_url = self.domain(ticket.url) in_reply_to = IN_REPLY_TO % (target.name, ticket.ticket_id) subject = EMAIL_TITLE % (target.name, ticket.title, ticket.ticket_id) fromaddr = Mail.customize_sender(sender, target.name) toaddr, ccaddr = self.mail_receivers return Mail(subject, to=toaddr, cc=ccaddr, from_=fromaddr, in_reply_to=in_reply_to, context=MailContext('new_commits', data=locals()))
def mail(self): sender = self._sender content = self._content issue = self._issue target = self._target url = self.domain(issue.url) toaddrs = Mail.addrs_by_usernames(self.noti_receivers, target) fromaddr = Mail.customize_sender(sender, target.name) hook_url = self.hook_url in_reply_to = IN_REPLY_TO % (target.name, self._issue_id) if issue.is_closed: status_line = "Issue closed by %s" % sender subject = EMAIL_TITLE % (target.name, issue.title, issue.number) message_id = None else: status_line = "%s create a new issue [%s (#%s)](%s)" % ( sender, issue.title, issue.number, url) subject = "RE:" + EMAIL_TITLE % (target.name, issue.title, issue.number) message_id = in_reply_to if toaddrs: return Mail(subject, to=toaddrs, from_=fromaddr, in_reply_to=in_reply_to, message_id=message_id, context=MailContext('_', data=locals()))
def mail(self): sender = self._sender content = self._content issue = self._issue comment = self._comment target = self._target subject = EMAIL_TITLE % (target, issue.title, issue.number) hook_url = self.hook_url url = self.domain(self._url) toaddr = Mail.addrs_by_usernames([sender]) ccaddr = Mail.addrs_by_usernames(self.noti_receivers, target) in_reply_to = IN_REPLY_TO % (target.name, self._issue_id) fromaddr = Mail.customize_sender(sender, target.name) status_line = "{} commented on issue [{} (#{})]({})".format( sender, issue.title, issue.number, url) return Mail( subject, to=toaddr, cc=ccaddr, from_=fromaddr, in_reply_to=in_reply_to, context=MailContext('_', data=locals()))
def mail(self): proj = self._proj comment = self._comment in_reply_to = self.in_reply_to subject = self.reply_mail_subject url = self.full_url hook_url = self.hook_url content = self._comment.content author = comment.author proj_name = proj.name fromaddr = Mail.customize_sender(author, proj_name) toaddr, ccaddr = self.mail_receivers return Mail(subject, to=toaddr, cc=ccaddr, from_=fromaddr, in_reply_to=in_reply_to, context=MailContext('codereview', data=locals()))
def mail(self): comment = self._comment uid = self.uid ticket = self._ticket ticket_id = ticket.ticket_id ticket_title = ticket.title author = self._sender content = self._content pullreq = self._pullreq proj = pullreq.to_proj proj_url = self.domain(proj.url) proj_name = proj.name if self._is_ticketcomment: pr_url = '/%s/pull/%s/' % (proj_name, ticket_id) url = self.domain('%s#%s' % (pr_url, uid)) else: path = comment.path url = self.domain(str('/%s/pull/%s/files#%s' % (proj_name, ticket_id, uid))) # FIXME: move to pullreq.xx diff = pullreq.get_diff(ref=comment.from_sha, paths=[path]) # FIXME: new smart_slice #diff_content = diff.patches[0].smart_slice(comment.position) if diff and diff.patches else [] diff_content = '' subject = self.reply_mail_subject in_reply_to = self.in_reply_to hook_url = self.hook_url fromaddr = Mail.customize_sender(author, proj_name) toaddr, ccaddr = self.mail_receivers return Mail(subject, to=toaddr, cc=ccaddr, from_=fromaddr, in_reply_to=in_reply_to, context=MailContext('codereview', data=locals()))
def mail(self): comment = self._comment pullreq = self._pullreq to_proj = pullreq.to_proj ticket = self._ticket ticket_id = ticket.ticket_id status = self._status sender = self._sender diffurl = self.domain('/%s/pull/%s' % (to_proj.name, ticket_id)) url = "%s/" % diffurl hook_url = self.hook_url if status == 'unmerge': _, toaddr = self.mail_receivers ccaddr = self.extra_receivers subject = self.mail_subject content = self._content message_id = self.in_reply_to else: toaddr, ccaddr = self.mail_receivers subject = self.reply_mail_subject content = """Pull request [{ticket_title} (#{ticket_id})]({url}) is {status} by {sender} """.format( ticket_title=ticket.title, ticket_id=ticket_id, url=url, status=status, sender=sender) message_id = None in_reply_to = self.in_reply_to fromaddr = Mail.customize_sender(self._sender, to_proj.name) return Mail(subject, to=toaddr, cc=ccaddr, from_=fromaddr, in_reply_to=in_reply_to, message_id=message_id, context=MailContext('pullrequest', data=locals()))