From 6040eb17cc19a3ae3b8f15588fe4643c4d06a5a8 Mon Sep 17 00:00:00 2001 From: "Antonio J. Delgado" Date: Mon, 30 Sep 2024 23:42:08 +0300 Subject: [PATCH] fix ensure line --- imap_filter/imap_filter.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/imap_filter/imap_filter.py b/imap_filter/imap_filter.py index 78cfdf2..4382943 100644 --- a/imap_filter/imap_filter.py +++ b/imap_filter/imap_filter.py @@ -151,11 +151,13 @@ class ImapFilter: condition = f'allof (header :contains "{field}" ["{'", "'.join(mfilter['words'])}"])' search = f"^.* # imap_filter: rule name 'imap_filter_INBOX_{mfilter['name']}'" replacement = f'if {condition} {{ fileinto "{mfilter['destination']}"; stop;}} # imap_filter: rule name \'imap_filter_INBOX_{mfilter['name']}\'' - new_content = re.sub(search, replacement, content) - if content == new_content: - content += f"{replacement}\n" + match = re.search(search, content) + if match: + new_content = re.sub(search, replacement, content) + if content != new_content: + content = f"{new_content}\n" else: - content = f"{new_content}\n" + content += f"{replacement}\n" with open(self.config['sieve_scripts_path'], 'w', encoding='UTF-8') as sieve_script: sieve_script.write(content) return True