summaryrefslogtreecommitdiff
path: root/src/mailman/queue/docs/archiver.txt
blob: 601857cd9a6d07b49eea20b27694e6e8ee8eea38 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Archiving
=========

Mailman can archive to any number of archivers that adhere to the IArchiver
interface.  By default, there's a Pipermail archiver.

    >>> from mailman.app.lifecycle import create_list
    >>> mlist = create_list(u'test@example.com')
    >>> commit()

    >>> msg = message_from_string("""\
    ... From: aperson@example.com
    ... To: test@example.com
    ... Subject: My first post
    ... Message-ID: <first>
    ...
    ... First post!
    ... """)

    >>> archiver_queue = config.switchboards['archive']
    >>> ignore = archiver_queue.enqueue(msg, {}, listname=mlist.fqdn_listname)

    >>> from mailman.queue.archive import ArchiveRunner
    >>> from mailman.testing.helpers import make_testable_runner
    >>> runner = make_testable_runner(ArchiveRunner)
    >>> runner.run()

    # The best we can do is verify some landmark exists.  Let's use the
    # Pipermail pickle file exists.
    >>> listname = mlist.fqdn_listname
    >>> import os
    >>> os.path.exists(os.path.join(
    ...     config.PUBLIC_ARCHIVE_FILE_DIR, listname, 'pipermail.pck'))
    True