summaryrefslogtreecommitdiff
path: root/src/mailman/pipeline
Commit message (Collapse)AuthorAgeFilesLines
* Reimplement wrap() using modern techniques, and finally get rid of Utils.py!Barry Warsaw2011-03-172-5/+4
|
* Utils.maketext() and Utils.findtext() are gone.Barry Warsaw2011-03-161-8/+10
|
* Cue Freddy Mercury. Another one bites the dust.Barry Warsaw2011-02-251-2/+1
|
* Move oneline() out of Utils.py.Barry Warsaw2011-02-253-3/+5
|
* Happy New Year.Barry Warsaw2011-01-0118-18/+18
|
* Because it was just to damn confusing, rename IAddress.address toBarry Warsaw2011-01-015-22/+33
| | | | | | IAddress.email and IAddress.original_address to IAddress.original_email. From now on we'll use "address" to talk about the IAddress object and "email" to talk about the textual email address.
* Fairly significant change to the way member and nonmember moderation occurs.Barry Warsaw2010-12-291-173/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Now, nonmembers are represented by a separate roster of IMembers, the latter which has grown a `moderation_action` enum. When that action is `defer`, then the normal processing rules apply. Anything else and the `moderation` chain is jumped to for a shortcut to moderation (which may include immediate acceptance). TODO: handle unregistered nonmembers. Details: * The member-moderation rule is renamed to just moderation, and handles both members and nonmembers (though the latter must currently be registered). * The moderation rule is moved up in the builtin chain. It is now checked after `approved`, `emergency`, and `loop`, but before the normal moderation checks. This means that nonmember postings will be (by default) held much earlier. * IMember.is_moderated is removed. * IMember.moderation_action is added. * IMailingList.default_member_moderation is removed. * IMailingList.default_member_action and IMailingList.default_nonmember_action are added. * MemberRole.nonmember is added.
* Upgrade from using the locknix package to using flufl.lock.Barry Warsaw2010-11-271-1/+1
|
* Fix the obvious errors identified by pyflakes. Skip false positives (mostlyBarry Warsaw2010-10-083-9/+6
| | | | | due to _() interpolation) and a few other problems that did not have immediately obvious fixes.
* * Allow X-Approved and X-Approve headers, equivalent to Approved andBarry Warsaw2010-09-202-7/+11
| | | | Approve. LP: #557750
* More documentation updatesBarry Warsaw2010-09-102-6/+8
|
* More documentation updatesBarry Warsaw2010-09-101-34/+38
|
* More documentation updatesBarry Warsaw2010-09-103-39/+55
|
* More doc fixes.Barry Warsaw2010-09-095-44/+54
|
* More documentation improvements.Barry Warsaw2010-09-097-61/+76
|
* Many documentation fixes for better Sphinx output.Barry Warsaw2010-09-081-3/+4
|
* * A start to import of Mailman 2.1 config.pck files.Barry Warsaw2010-04-051-1/+1
| | | | * Move DigestFrequency from mailinglist to digests.
* So long X-BeenThere, and thanks for all the fish.Barry Warsaw2010-02-161-30/+0
|
* Happy New Year.Barry Warsaw2010-01-0119-19/+19
|
* Pick lint. Down to 4137 lines of warnings.Barry Warsaw2009-12-1417-93/+109
|
* * Refactor the language manager off of the config object and into a utility.Barry Warsaw2009-12-101-2/+5
| | | | | | | | * Fix a few small typos in exception handlers. * Move the initialization of the Zope Component Architecture into the first initialization step. The only reason we couldn't do that previously was because the domain object referenced the config, causing a circularity problem. Refactor the Domain implementation to avoid that.
* Add a 'name' attribute to the Switchboards. This is so 'whichq' can be setBarry Warsaw2009-12-101-1/+1
| | | | for bin/mailman unshunt.
* * Make IDomainManager a utility, since the config object is global.Barry Warsaw2009-12-081-2/+2
| | | | | | | | * Give IMailingList a .domain attribute which looks up the IDomain for its .host_name. This cleans up a lot of code. * Add a test for the 'confirm' email command. * Suppress blank lines in email command responses. * Make the IDomainCollection a utility.
* Revert the last changes. Calculate size where needed.Barry Warsaw2009-12-051-2/+0
|
* The delivery agent requires that the message object have a .original_sizeBarry Warsaw2009-12-041-0/+2
| | | | attribute. Add this for UserNotifications.
* Refactor VERP calculation so that it's now in the outgoing queue instead ofBarry Warsaw2009-11-271-144/+10
| | | | | | the to-outgoing handler. Putting it in the latter means that more delivery vectors can take advantages of the same mechanisms. to-outgoing is now really simple (but is it simple enough?).
* * The start of a conversion of bin/withlist to bin/mailman withlistBarry Warsaw2009-11-261-24/+0
| | | | | | | | * Add lots of debugging to the SMTP delivery chain * Move the VERP calculation to the deliver module, since this is the central place we do delivery. For example, when it was in to_outgoing, other routes for injecting the message may not have been verp'd. to_outgoing is now really simple.
* Factor out most of the i18n subsystem and convert to using the flufl.i18nBarry Warsaw2009-11-1518-18/+19
| | | | package.
* Cleanup.Barry Warsaw2009-11-0415-15/+0
|
* Move a module.Barry Warsaw2009-11-041-1/+1
|
* smtp_direct.py is dead and gone.Barry Warsaw2009-11-031-1/+1
|
* Fix all tests except outgoing.txt and common.txtBarry Warsaw2009-11-023-25/+5
|
* Add decorations.Barry Warsaw2009-11-018-24/+21
| | | | s/recips/recipients/
* recips -> recipientsBarry Warsaw2009-10-232-24/+24
|
* Remove the user_manager attribute from config.db and expose it as anBarry Warsaw2009-08-266-19/+36
| | | | IUserManager utility.
* Test updates and repair.xoBarry Warsaw2009-08-2114-34/+60
|
* De-u-literal-ify our doctests.Barry Warsaw2009-07-1818-184/+201
|
* Wow. Put domains into the database.Barry Warsaw2009-07-161-4/+4
| | | | | | | | Add an IDomainManager and a global domain manager which can be gotten by adapting the global config object. Add an IDomainCollection interface for exposing the domain manager onto the API.
* When cleaning up the artifacts of a list being deleted, be more careful forBarry Warsaw2009-05-271-2/+3
| | | | | | | | | | | | | | artifacts that don't exist. In that case, just skimp them rather than complain. Docstring style cleanup. Allow for doctest layer specification in the package's __init__.py, defaulting to SMTPLayer if not given. This is probably too coarse for long term use, but it works for now. Make sure pipelines.txt properly cleans up its digest; it must be flushed after clearing.
* Refactor __import__'s into a separate utility module.Barry Warsaw2009-05-161-6/+5
|
* rsplit -> rpartitionBarry Warsaw2009-05-151-3/+3
|
* Add argparse 'cause I think this might end up being cool.Barry Warsaw2009-03-291-53/+0
| | | | | | | | Refactor the finding of components so that it's much easier to find and register the ones that come with Mailman by default. Move all the old cmd_*.py commands into the attic. These will eventually be ported to the new framework.
* Last few conversions to pkg_resources instead of listdir'ing the file systemBarry Warsaw2009-03-291-3/+2
| | | | directly.
* Get rid of the mailman.scrubber entry point.Barry Warsaw2009-03-101-2/+5
|
* Get rid of the mailman.rules entry point.Barry Warsaw2009-03-091-1/+1
|
* Get rid of the mailman.handlers entry point.Barry Warsaw2009-03-091-2/+2
|
* There are some situations where the RFC 2919 List-ID header must be explicitlyBarry Warsaw2009-03-032-6/+38
| | | | | set. Make this possible by moving list_id to an attribute of the MailingList object instead of hard-coding its calculation in cook_headers.py.
* Convert content filter and acceptable aliases away from pickle types.Barry Warsaw2009-03-032-45/+48
| | | | | | | * Add an adapter from mailing lists to acceptable alias set. Use this instead of the old acceptable alias interface, which is not removed. * Add contentfilter table * Add a bunch of missing docstrings
* Major cleanup of the automatic response stuff.Barry Warsaw2009-02-192-125/+106
| | | | | | | | | inject_message() grows a keyword argument dictionary which gets merged into the message metadata. Move NODELTA into the autorespond interface as ALWAYS_REPLY. Convert the integer response values into the ResponseAction enum.
* Complete the porting of the autoresponse implementation, with no need of theBarry Warsaw2009-02-192-68/+192
| | | | | | old pickle attributes. Fix a typo in the datetime.py module.