diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2008-09-20 10:30:05 +1000 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2008-09-20 10:30:05 +1000 |
commit | 5787cddc0bde4514cba96a360f89841e13d2e506 (patch) | |
tree | 3d9752044f5b1d64a0dbbf597f4b8dbb039881bc /apps | |
parent | 26c532d2cfeec0bd4339b5c1db4bb2b3d4a3d3f0 (diff) | |
download | patchwork-5787cddc0bde4514cba96a360f89841e13d2e506.tar.bz2 patchwork-5787cddc0bde4514cba96a360f89841e13d2e506.tar.xz |
[parser] Don't remove --- update lines
We'd like to keep update lines in the patch comments, so change the
signature-removal code to allow them to pass through.
Also, add appropriate tests.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'apps')
-rwxr-xr-x | apps/patchwork/bin/parsemail.py | 3 | ||||
-rw-r--r-- | apps/patchwork/tests/patchparser.py | 24 |
2 files changed, 26 insertions, 1 deletions
diff --git a/apps/patchwork/bin/parsemail.py b/apps/patchwork/bin/parsemail.py index 1f21393..b0f1497 100755 --- a/apps/patchwork/bin/parsemail.py +++ b/apps/patchwork/bin/parsemail.py @@ -298,8 +298,9 @@ def clean_subject(subject, drop_prefixes = None): return subject -sig_re = re.compile('^(-{2,3} ?|_+)\n.*', re.S | re.M) +sig_re = re.compile('^(-- |_+)\n.*', re.S | re.M) def clean_content(str): + """ Try to remove signature (-- ) and list footer (_____) cruft """ str = sig_re.sub('', str) return str.strip() diff --git a/apps/patchwork/tests/patchparser.py b/apps/patchwork/tests/patchparser.py index 3b10ef5..2e207bf 100644 --- a/apps/patchwork/tests/patchparser.py +++ b/apps/patchwork/tests/patchparser.py @@ -102,3 +102,27 @@ class SignatureCommentTest(InlinePatchTest): '-- \nsig\n' + self.orig_patch) (self.patch, self.comment) = find_content(self.project, email) + +class ListFooterTest(InlinePatchTest): + patch_filename = '0001-add-line.patch' + test_comment = 'Test comment\nmore comment' + + def setUp(self): + self.orig_patch = self.read_patch(self.patch_filename) + email = self.create_email( \ + self.test_comment + '\n' + \ + '_______________________________________________\n' + \ + 'Linuxppc-dev mailing list\n' + \ + self.orig_patch) + (self.patch, self.comment) = find_content(self.project, email) + + +class UpdateCommentTest(InlinePatchTest): + """ Test for '---\nUpdate: v2' style comments to patches. """ + patch_filename = '0001-add-line.patch' + test_comment = 'Test comment\nmore comment\n---\nUpdate: test update' + +class UpdateSigCommentTest(SignatureCommentTest): + """ Test for '---\nUpdate: v2' style comments to patches, with a sig """ + patch_filename = '0001-add-line.patch' + test_comment = 'Test comment\nmore comment\n---\nUpdate: test update' |