From 6c3db61b7ab132e23d1efe55b3efdea16592d827 Mon Sep 17 00:00:00 2001 From: rookiejet Date: Wed, 23 Jul 2025 12:39:26 -0400 Subject: [PATCH] afew: backport upstream fix for HeaderMatchingFilter error --- .../afew/patches/nullpointererror-fix.patch | 37 +++++++++++++++++++ srcpkgs/afew/template | 4 +- 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/afew/patches/nullpointererror-fix.patch diff --git a/srcpkgs/afew/patches/nullpointererror-fix.patch b/srcpkgs/afew/patches/nullpointererror-fix.patch new file mode 100644 index 00000000000..df2ef4f0506 --- /dev/null +++ b/srcpkgs/afew/patches/nullpointererror-fix.patch @@ -0,0 +1,37 @@ +based on upstream commit d43508dc2bb456070192239d02fb8079b433781c +backports fix: HeaderMatchingFilter: Gracefully handle missing headers + +diff --git a/afew/filters/HeaderMatchingFilter.py b/afew/filters/HeaderMatchingFilter.py +index 5a735f7..95198d7 100644 +--- a/afew/filters/HeaderMatchingFilter.py ++++ b/afew/filters/HeaderMatchingFilter.py +@@ -6,6 +6,8 @@ + + from afew.filters.BaseFilter import Filter + ++from notmuch.errors import NullPointerError ++ + import re + + +@@ -22,10 +24,13 @@ class HeaderMatchingFilter(Filter): + def handle_message(self, message): + if self.header is not None and self.pattern is not None: + if not self._tag_blacklist.intersection(message.get_tags()): +- value = message.get_header(self.header) +- match = self.pattern.search(value) +- if match: +- sub = (lambda tag: +- tag.format(**match.groupdict()).lower()) +- self.remove_tags(message, *map(sub, self._tags_to_remove)) +- self.add_tags(message, *map(sub, self._tags_to_add)) ++ try: ++ value = message.get_header(self.header) ++ match = self.pattern.search(value) ++ if match: ++ sub = (lambda tag: ++ tag.format(**match.groupdict()).lower()) ++ self.remove_tags(message, *map(sub, self._tags_to_remove)) ++ self.add_tags(message, *map(sub, self._tags_to_add)) ++ except NullPointerError: ++ pass diff --git a/srcpkgs/afew/template b/srcpkgs/afew/template index 49ceb4a9734..c49c0446a0c 100644 --- a/srcpkgs/afew/template +++ b/srcpkgs/afew/template @@ -1,8 +1,8 @@ # Template file for 'afew' pkgname=afew version=3.0.1 -revision=7 -build_style=python3-module +revision=8 +build_style=python3-pep517 hostmakedepends="python3-setuptools_scm python3-Sphinx pkg-config" depends="notmuch-python3 python3-dkimpy python3-chardet notmuch" checkdepends="python3-pytest python3-freezegun $depends"