summaryrefslogtreecommitdiff
path: root/Mailman/docs/hold.txt (follow)
Commit message (Collapse)AuthorAgeFilesLines
* More updates to rules and chains, especially by adding additional tests.Barry Warsaw2008-01-211-223/+0
| | | | | | | | | | | | | | | - Remove the Emergency.py handler. This is now covered by the emergency.py rule. - Remove the hold.txt doctest. This is now covered by the chains.txt and emergency.txt doctests. - Added a chains.txt doctest. - Extend the pending db to handle list values, although only lists that contain nothing but strings. - Rename the 'adminapproved' message metadata key (for the emergency rule) to 'moderator_approved'. Also, backport a change to the Decorate handler where message metadata on the 'decoration-data' key ca be used in the header and footer.
* Move the suspicious header check to a rule and add a doctest.Barry Warsaw2007-12-291-37/+0
|
* Port the maximum message size check to a rule. Add doctest.Barry Warsaw2007-12-291-22/+0
| | | | | | | | Rename the implicit.txt doctest. specialized_message_from_string(): Mimic the way the text->message parser will include the size of the original text as an attribute on the message object. The maximum message size rule will use this information.
* Port the implicit destination checking to the rules infrastructure and add aBarry Warsaw2007-12-291-198/+162
| | | | | | bunch of doctests. Note that the old Hold Notification tests are temporarily disabled as these will have to be rewritten when the rule matching logic gets added.
* Convert the max-recipients check from the Hold handler to the max_recipientsBarry Warsaw2007-12-291-23/+0
| | | | rule. Add doctest as appropriate.
* Convert the administrivia check from the Hold handler to the administriviaBarry Warsaw2007-12-291-21/+0
| | | | | | rule. Add doctest as appropriate. DEFAULT_MAIL_COMMANDS_MAX_LINES -> EMAIL_COMMANDS_MAX_LINES
* Add .get() to our Message subclass, which ensures that returnedBarry Warsaw2007-12-101-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | values are unicodes if they come from the base class as a string. Get rid of the 'global id'. Now use just Message-ID. Rename X-List-ID-Hash to X-Message-ID-Hash. Do not take Date header into account when calculating this hash. Because of the above change, the assumption is that there will be no Message-ID collisions. Therefore, get rid of IMessageStore .get_message(), .get_messages_by_message_id() and .get_messages_by_hash(). Instead, it's now .get_message_by_id() and .get_message_by_hash() both of which return the message object or None. Message.hash -> Message.message_id_hash When storing a message in the message store, the final path component has the entire hash, not just the leftover parts after directory prefix splitting. MessageStore.delete_message() deletes the file too. Doctests clean up message store messages though the message store instead of directly off the filesystem.
* Complete the port to Storm, at least as far as the current Mailman test suiteBarry Warsaw2007-11-171-6/+6
| | | | | is concerned. This still requires a minor patch to Storm to handle timedelta types in SQLite.
* All the simple test fixes are now in, and while there are still some failingBarry Warsaw2007-11-101-6/+5
| | | | | | tests, we're making very good progress. Just the tough ones are left. This change did modify the the schema a bit, for better naming and typing. E.g. 'type' -> 'request_type' and using a RawStr for a hash type.
* Fix two more doctestsBarry Warsaw2007-11-071-19/+8
|
* Reorganize the qrunner infrastructure. First, the package has been renamedBarry Warsaw2007-09-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | from Mailman.Queue to Mailman.queue (note the case change to be more PEP 8 compliant). The Switchboard and Runner classes have been moved into the package __init__.py and the previous class modules have been removed. The switchboard cache is removed; I don't think it was ultimately buying us much. Now, just import the Switchboard class and instantiate it directly. Added an IRunner interface. Renamed the ArchRunner to ArchiveRunner. bin/qrunner and bin/mailmanctl are updated accordingly. For the former, it no long accepts -r=All to run all qrunners. You can still use the short name (e.g. --runner=incoming) to run the built-in queue runners, but this design will eventually allow for plugin qrunners by allowing them to be run specifying the full package path to the class. It also now accepts a leading dot to indicate a qrunner class relative to the Mailman.queue package.
* OMGW00T: After over a decade, the MailList mixin class is gone! Well,Barry Warsaw2007-09-211-1/+1
| | | | | | | | | | | | mostly. It's no longer needed by anything in the test suite, and therefore the list manager returns database MailingList objects directly. The wrapper cruft has been removed. To accomplish this, a couple of hacks were added to the Mailman.app package, which will get cleaned up over time. The MailList module itself (and its few remaining mixins) aren't yet removed from the tree because some of the code is still not tested, and I want to leave this code around until I've finished converting it.
* InitTempVars() is completely eradicated. The only bit I think weBarry Warsaw2007-09-191-7/+0
| | | | | | | | | | | | | | | | | still need temporarily is the _gui component initialization, so this has been moved into MailList.__init__(). Fixed the __getattr__() super call to properly dispatch up. Removed the _memberadaptor instance variable initialization. The whole MemberAdaptor stuff is next on the chopping block. Essentially MailList locking is gone too now, although it's not yet completely eradicated. However, the __repr__() no longer states the lock status. The full_path property is now just an attribute on the underlying MailingList database object.
* Finish clean up of ListAdmin class removal. Start by actuallyBarry Warsaw2007-09-161-5/+14
| | | | | | | | | | | | | | | removing the module. Then, fix a few tests that failed as a result of this work. Mailman/Handlers/Hold.py: Call hold_message() instead of mlist.HoldMessage(). The message store also no longer requires a Date: header, so clean up a few tests that were still expecting that. Extend cleaning_teardown() in test_documentation.py so that both the message store and any list-centric requests are cleaned up after each test.
* Refactor IDatabase interface so that the user_manager, list_manager,Barry Warsaw2007-08-021-3/+2
| | | | | message_store, and pendings 'databases' hang off the IDatabase object attached to the config object. For IPending, no adaptation is necessary.
* Repair some test suite regressions.Barry Warsaw2007-08-011-4/+6
|
* Convert TestHold to a doctest and update code as necessary. No generalBarry Warsaw2007-07-031-0/+373
modernization of Hold.py was performed.