diff options
Diffstat (limited to 'mailman/rules/docs/emergency.txt')
| -rw-r--r-- | mailman/rules/docs/emergency.txt | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/mailman/rules/docs/emergency.txt b/mailman/rules/docs/emergency.txt deleted file mode 100644 index 9d80fdb40..000000000 --- a/mailman/rules/docs/emergency.txt +++ /dev/null @@ -1,72 +0,0 @@ -Emergency -========= - -When the mailing list has its emergency flag set, all messages posted to the -list are held for moderator approval. - - >>> from mailman.app.lifecycle import create_list - >>> mlist = create_list(u'_xtest@example.com') - >>> msg = message_from_string("""\ - ... From: aperson@example.com - ... To: _xtest@example.com - ... Subject: My first post - ... Message-ID: <first> - ... - ... An important message. - ... """) - -The emergency rule is matched as part of the built-in chain. The emergency -rule matches if the flag is set on the mailing list. - - >>> from mailman.core.chains import process - >>> mlist.emergency = True - >>> process(mlist, msg, {}, 'built-in') - -There are two messages in the virgin queue. The one addressed to the original -sender will contain a token we can use to grab the held message out of the -pending requests. - - >>> virginq = config.switchboards['virgin'] - - >>> def get_held_message(): - ... import re - ... qfiles = [] - ... for filebase in virginq.files: - ... qmsg, qdata = virginq.dequeue(filebase) - ... virginq.finish(filebase) - ... qfiles.append(qmsg) - ... from operator import itemgetter - ... qfiles.sort(key=itemgetter('to')) - ... cookie = None - ... for line in qfiles[1].get_payload().splitlines(): - ... mo = re.search('confirm/[^/]+/(?P<cookie>.*)$', line) - ... if mo: - ... cookie = mo.group('cookie') - ... break - ... assert cookie is not None, 'No confirmation token found' - ... data = config.db.pendings.confirm(cookie) - ... requestdb = config.db.requests.get_list_requests(mlist) - ... rkey, rdata = requestdb.get_request(data['id']) - ... return config.db.message_store.get_message_by_id( - ... rdata['_mod_message_id']) - - >>> msg = get_held_message() - >>> print msg.as_string() - From: aperson@example.com - To: _xtest@example.com - Subject: My first post - Message-ID: <first> - X-Mailman-Rule-Hits: emergency - X-Mailman-Rule-Misses: approved - X-Message-ID-Hash: RXJU4JL6N2OUN3OYMXXPPSCR7P7JE2BW - <BLANKLINE> - An important message. - <BLANKLINE> - -However, if the message metadata has a 'moderator_approved' key set, then even -if the mailing list has its emergency flag set, the message still goes through -to the membership. - - >>> process(mlist, msg, dict(moderator_approved=True), 'built-in') - >>> len(virginq.files) - 0 |
