diff options
-rw-r--r-- | apps/patchwork/models.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/apps/patchwork/models.py b/apps/patchwork/models.py index d70fdb2..bf8efba 100644 --- a/apps/patchwork/models.py +++ b/apps/patchwork/models.py @@ -226,7 +226,16 @@ class Patch(models.Model): body = '' if comment: - body = comment.content.strip() + "\n\n" + body = comment.content.strip() + "\n" + + responses = False + for comment in Comment.objects.filter(patch = self) \ + .exclude(msgid = self.msgid): + body += comment.patch_responses() + + if body: + body += '\n' + body += self.content mail = MIMEText(body) @@ -256,6 +265,12 @@ class Comment(models.Model): headers = models.TextField(blank = True) content = models.TextField() + response_re = re.compile('^(Acked|Signed-off|Nacked)-by: .*$', re.M) + + def patch_responses(self): + return ''.join([ match.group(0) + '\n' for match in \ + self.response_re.finditer(self.content)]) + class Meta: ordering = ['date'] |