We'll need to figure out whether the mail we are parsing is the root of the thread to automatically build series, and we'll need the list of references for that.
Signed-off-by: Damien Lespiau <damien.lesp...@intel.com> Acked-by: Stephen Finucane <stephen.finuc...@intel.com> --- patchwork/bin/parsemail.py | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/patchwork/bin/parsemail.py b/patchwork/bin/parsemail.py index a98066f..8bbb7ee 100755 --- a/patchwork/bin/parsemail.py +++ b/patchwork/bin/parsemail.py @@ -160,6 +160,22 @@ class MailContent: self.patch = None self.comment = None +def build_references_list(mail): + # construct a list of possible reply message ids + refs = [] + + if 'In-Reply-To' in mail: + refs.append(mail.get('In-Reply-To')) + + if 'References' in mail: + rs = mail.get('References').split() + rs.reverse() + for r in rs: + if r not in refs: + refs.append(r) + + return refs + def parse_series_marker(subject_prefixes): """If this patch is part a of multi-patches series, ie has x/n in its subject, return (x, n). Otherwise, return (None, None).""" @@ -244,7 +260,8 @@ def find_content(project, mail): headers = mail_headers(mail)) else: - cpatch = find_patch_for_comment(project, mail) + refs = build_references_list(mail) + cpatch = find_patch_for_comment(project, refs) if not cpatch: return ret ret.comment = Comment(patch = cpatch, date = mail_date(mail), @@ -253,19 +270,7 @@ def find_content(project, mail): return ret -def find_patch_for_comment(project, mail): - # construct a list of possible reply message ids - refs = [] - if 'In-Reply-To' in mail: - refs.append(mail.get('In-Reply-To')) - - if 'References' in mail: - rs = mail.get('References').split() - rs.reverse() - for r in rs: - if r not in refs: - refs.append(r) - +def find_patch_for_comment(project, refs): for ref in refs: patch = None -- 2.4.3 _______________________________________________ Patchwork mailing list Patchwork@lists.ozlabs.org https://lists.ozlabs.org/listinfo/patchwork