def process(account): (user, password) = account.split(':', 1) # Start by logging in logging.info("") logging.info("Archiving mail for %s", user) archivemymail.server = imapclient.IMAPClient(archivemymail.config.server, ssl=True) archivemymail.server.login(user, password) mboxes = deque(archivemymail.server.list_folders()) while len(mboxes): mbox = mboxes.popleft() disposition = archivemymail.archivebox(mbox, user) if disposition & archivemymail.HAVE_ARCHIVED \ and not disposition & archivemymail.MBOX_DELETED \ and archivemymail.config.do_learning: archivemymail.learnbox(mbox)
def test_learnbox(monkeypatch, caplog): archivemymail.server = imapserver() archivemymail.config.bayes_dir = "." monkeypatch.setattr('archivemymail.progress.Progress', spamProgress) monkeypatch.setattr('archivemymail.wrappers.subprocess', myprocess) archivemymail.config.dry_run = True archivemymail.learnbox('foospam') assert "Would learn spam folder: foospam" in caplog.text archivemymail.config.dry_run = False archivemymail.learnbox('foospam') assert "Learning spam folder: foospam" in caplog.text monkeypatch.setattr(archivemymail.progress, 'Progress', hamProgress) archivemymail.config.dry_run = True archivemymail.learnbox('foo') assert "Would learn ham folder: foo" in caplog.text