summaryrefslogtreecommitdiff
path: root/src/mailman/database (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Updates for the latest releases of flufl.enum and flufl.i18n.Barry Warsaw2010-05-021-1/+1
|
* Happy New Year.Barry Warsaw2010-01-014-4/+4
|
* database/model reorganization. Model classes go in mailman.model. StockBarry Warsaw2009-10-1020-2389/+144
| | | | | database support goes in mailman.database. Move stuff out of mailman/database/__init__.py.
* Convert bin/inject to bin/mailman injectBarry Warsaw2009-09-193-4/+8
| | | | | | Expose the database store on .store instead of ._store A few other cleanups.
* As before, replace config.db.requests and config.db.pendings with utilities.Barry Warsaw2009-08-262-8/+6
|
* Replace the message_store instance on the database with an IMessageStoreBarry Warsaw2009-08-261-2/+0
| | | | utility.
* Remove the user_manager attribute from config.db and expose it as anBarry Warsaw2009-08-262-3/+1
| | | | IUserManager utility.
* Instead of using an adapter, use a utility to get the mailing list manager.Barry Warsaw2009-08-262-16/+7
|
* * Updated NEWS.txt for 3.0a3.Barry Warsaw2009-08-212-8/+14
| | | | | * Use the IListManager() adapter instead of hanging the list manager off of config.db. This makes the code somewhat cleaner.
* 'mailman info' command.Barry Warsaw2009-08-121-0/+2
|
* Use Storm 0.15's new GenerationalCache.Barry Warsaw2009-08-081-1/+2
|
* Fix some urls returned by the api. Instead of 'mailing_lists' use 'lists'.Barry Warsaw2009-08-071-1/+2
| | | | | Also, extend the ListManager so that it implements IResolvePathNames, so that it can get() sub-mailing lists.
* Move BadDomainSpecificationError to domain.txt interface. Try to set this toBarry Warsaw2009-07-262-2/+7
| | | | | | return an HTTP 400 error, though it does not seem to work. Expose list creation through the API.
* De-u-literal-ify our doctests.Barry Warsaw2009-07-171-1/+1
|
* Wow. Put domains into the database.Barry Warsaw2009-07-164-9/+183
| | | | | | | | 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.
* Clean a few more lints.Barry Warsaw2009-07-101-0/+6
| | | | | | | | | | | | | | Add get_mailing_lists() which is used just for the web interface. Because of a bug in lazr.restful, this cannot be a generator. Similar change in IDomainSet. Instrument IListManager to be vended through the api. The REST server must be run in a separate process since SQLite does not like objects created in one thread to be used in another thread. Note that this breaks the domain.txt test, but domains really need to be in the database anyway.
* More REST server updates.Barry Warsaw2009-06-292-34/+0
| | | | | | | * Get rid of in-Python adapter registration in favor of ZCML. Eventually, I'd like to get rid of the ZCML. * Set the view_permission to None, but it's still not right. * Add IDomainSet and an adapter from Configuration to IDomainSet.
* Refactor __import__'s into a separate utility module.Barry Warsaw2009-05-162-9/+7
|
* rsplit -> rpartitionBarry Warsaw2009-05-152-5/+5
|
* There are some situations where the RFC 2919 List-ID header must be explicitlyBarry Warsaw2009-03-032-4/+8
| | | | | 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-033-35/+234
| | | | | | | * 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
* acceptable_aliases are no longer a pickle.Barry Warsaw2009-02-232-4/+64
|
* Get rid of one_last_digest. Move this into a separate OneLastDigest table.Barry Warsaw2009-02-225-36/+117
| | | | | | | | | | | | | Make it explicit to get the last digest (I could imagine an user selecting not to). Actually add tests for this. Start to get rid of 'from storm.locals import *' in favor of more specific imports. Start to use Store.of() instead of config.db.store where we can. Rework (delivery)MemberRosters to use the Member attributes. This ensures that the layered lookup happens at the expense of query optimization. Sundry and various cleanups.
* Major cleanup of the automatic response stuff.Barry Warsaw2009-02-192-10/+14
| | | | | | | | | 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.
* Refactor.Barry Warsaw2009-02-191-3/+0
|
* Add IAutoResponseSet.last_response() and fix a few bugs with the datetimeBarry Warsaw2009-02-192-4/+11
| | | | | testing harness. Remove the {admin,postings,request}_response attributes, but these are not apparently tested.
* Eradicate hold_and_cmd_autoresponses.Barry Warsaw2009-02-172-6/+0
|
* Add a "mock and monkey" layer to set up testing infrastructure, e.g. forBarry Warsaw2009-02-171-3/+3
| | | | | | | | | | predictable dates and times. Fill out the autorespond.txt test to show that when the date flips over, the response counts reset. Add a date/time factory which we should use rather than the built-in datetime for now() and today() so that they can be appropriately tested.
* Checkpointing the conversion of automatic responses away from pickles.Barry Warsaw2009-02-162-0/+120
|
* Much clean up of the language code, though more can be done. Factor out theBarry Warsaw2009-02-122-5/+34
| | | | | | | language manager stuff into a separate Language class, and be clearer in the APIs about whether we want a language code or a Language instance. The impetus to this was to get rid of Utils.GetCharSet(), which is done.
* Massive digester rework.Barry Warsaw2009-02-042-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves actual digest creation and sending into a new queue runner. That way, digest creation does not block the main incoming processor. Lots of code clean up and reorganization too, and many fixes. digest_last_sent_at: Make this a DateTime digest_size_threshold: Make this a Float digest_volume_frequency: Make this an Enum DigestFrequency: new enum Fix up IMailingList interface to reflect reality. In Runner base class, allow for msg.get_sender() to return a False value. If this happens (as it can with the empty marker messages used to signal the digester that there's work to do), just use the list's preferred language. Give the retry.py and incoming.py queue runner modules some proper epilogues. The EmptyingRunner (for testing) logs itself as the runner its wrapping. The digest file name now ends in .mmdf since that's the format we're using. Add 'create_list' to doctest globals. Add a Mailbox class to add support for the context manager protocol.
* Push the source directory into a 'src' subdirectory so that zc.buildout worksBarry Warsaw2009-01-2519-0/+2191
correctly regardless of how it's used.