From 9dc8d74ac07b580cb1e57194956f0f23a03d4555 Mon Sep 17 00:00:00 2001 From: Derek Schrock Date: Tue, 27 Dec 2022 16:22:20 +0100 Subject: mail/offlineimap3: Two-way synchronization of local Maildir and IMAP folders (new port) OfflineIMAP is software that downloads your email mailbox(es) as local Maildirs. OfflineIMAP will synchronize both sides via IMAP. PR: 262233 Author: Derek Schrock Reviewed by: koobs Differential Revision: https://reviews.freebsd.org/D34388 --- .../files/patch-offlineimap_imapserver.py | 11 ++++ .../files/patch-test_tests_test__01__basic.py | 59 ++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 mail/py-offlineimap3/files/patch-offlineimap_imapserver.py create mode 100644 mail/py-offlineimap3/files/patch-test_tests_test__01__basic.py (limited to 'mail/py-offlineimap3/files') diff --git a/mail/py-offlineimap3/files/patch-offlineimap_imapserver.py b/mail/py-offlineimap3/files/patch-offlineimap_imapserver.py new file mode 100644 index 000000000000..9655d920c7f8 --- /dev/null +++ b/mail/py-offlineimap3/files/patch-offlineimap_imapserver.py @@ -0,0 +1,11 @@ +--- offlineimap/imapserver.py.orig 2022-02-27 05:55:01 UTC ++++ offlineimap/imapserver.py +@@ -879,7 +879,7 @@ class IdleThread: + while not success: + imapobj = self.parent.acquireconnection() + try: +- imapobj.select(self.folder) ++ imapobj.select(imaputil.foldername_to_imapname(self.folder)) + except OfflineImapError as e: + if e.severity == OfflineImapError.ERROR.FOLDER_RETRY: + # Connection closed, release connection and retry. diff --git a/mail/py-offlineimap3/files/patch-test_tests_test__01__basic.py b/mail/py-offlineimap3/files/patch-test_tests_test__01__basic.py new file mode 100644 index 000000000000..615492c8fe8d --- /dev/null +++ b/mail/py-offlineimap3/files/patch-test_tests_test__01__basic.py @@ -0,0 +1,59 @@ +--- test/tests/test_01_basic.py.orig 2022-03-04 03:43:46 UTC ++++ test/tests/test_01_basic.py +@@ -17,6 +17,8 @@ import unittest + import logging + from test.OLItest import OLITestLib + ++import pytest ++ + # Things need to be setup first, usually setup.py initializes everything. + # but if e.g. called from command line, we take care of default values here: + if not OLITestLib.cred_file: +@@ -47,6 +49,7 @@ class TestBasicFunctions(unittest.TestCase): + def tearDown(self): + OLITestLib.delete_remote_testfolders() + ++ @pytest.mark.skip(reason="skpping test needs remote auth") + def test_01_olistartup(self): + """Tests if OLI can be invoked without exceptions + +@@ -60,6 +63,7 @@ class TestBasicFunctions(unittest.TestCase): + "mails, but sync led to {0} folders and {1} mails" + .format(boxes, mails)) + ++ @pytest.mark.skip(reason="skpping test needs remote auth") + def test_02_createdir(self): + """Create local 'OLItest 1', sync""" + OLITestLib.delete_maildir('') # Delete all local maildir folders +@@ -71,6 +75,7 @@ class TestBasicFunctions(unittest.TestCase): + "mails, but sync led to {0} folders and {1} mails" + .format(boxes, mails)) + ++ @pytest.mark.skip(reason="skpping test needs remote auth") + def test_03_createdir_quote(self): + """Create local 'OLItest "1"' maildir, sync + +@@ -87,6 +92,7 @@ class TestBasicFunctions(unittest.TestCase): + "mails, but sync led to {0} folders and {1} mails" + .format(boxes, mails)) + ++ @pytest.mark.skip(reason="skpping test needs remote auth") + def test_04_nametransmismatch(self): + """Create mismatching remote and local nametrans rules + +@@ -108,6 +114,7 @@ class TestBasicFunctions(unittest.TestCase): + # Write out default config file again + OLITestLib.write_config_file() + ++ @pytest.mark.skip(reason="skpping test needs remote auth") + def test_05_createmail(self): + """Create mail in OLItest 1, sync, wipe folder sync + +@@ -133,6 +140,7 @@ class TestBasicFunctions(unittest.TestCase): + "assigned the IMAP's UID number, but {0} messages had no valid ID " + .format(len([None for x in uids if x is None]))) + ++ @pytest.mark.skip(reason="skpping test needs remote auth") + def test_06_createfolders(self): + """Test if createfolders works as expected + -- cgit v1.2.3