summaryrefslogtreecommitdiff
path: root/src/mailman/core/initialize.py
Commit message (Collapse)AuthorAgeFilesLines
* PR288 vettedBarry Warsaw2017-08-291-9/+39
|
* Bump copyright years.Barry Warsaw2017-01-041-1/+1
|
* Use `atpublic` for @public instead of internal copy.Barry Warsaw2016-11-291-1/+1
|
* Rebase mailman/mailman!180 and cleanup # noqaBarry Warsaw2016-07-281-2/+3
|
* flake8 clean.Barry Warsaw2016-04-061-1/+1
|
* public() takes keyword arguments.Barry Warsaw2016-04-041-2/+1
|
* Clean up the core directory.Barry Warsaw2016-03-241-12/+6
| | | | | | | mailman/core/errors.py is gone now. We had a duplicate base exception which now always comes from mailman/interfaces/errors.py. Obsolete/unused exceptions are remove. The other exceptions are moved to better locations.
* Happy New Year.Barry Warsaw2016-01-021-1/+1
|
* fix mailman_extra_testing_cfg encoding errorAbhilash Raj2015-03-101-2/+2
|
* Bump copyright years.Barry Warsaw2015-01-041-1/+1
|
* Merge the Python 3 branch.Barry Warsaw2015-01-041-10/+6
|\
| * Remove huge amounts of now unnecessary file boilerplate.Barry Warsaw2014-12-221-8/+4
| |
| * Checkpointing.Barry Warsaw2014-11-301-3/+3
| | | | | | | | | | | | | | | | | | | | By using `six` I think I have most of the imports squared away. There's probably still uses of `unicode` built-ins that need fixing. The idea is to first get the test suite running (which it doesn't yet), and then to fix tests. There's a bug in lazr.config which requires us to patch it for now.
* | It's possible $HOME isn't defined.Barry Warsaw2015-01-011-1/+1
|/
* * You no longer have to edit `src/mailman/testing/testing.cfg` to run theBarry Warsaw2014-11-091-0/+8
| | | | | | | | | | | test suite against PostgreSQL. See `src/mailman/docs/START.rst` for details. Also: * Test fixes. * Doc fixes. * PostgreSQL/model fixes.
* Several internal improvements:Barry Warsaw2014-01-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | * New events: - ConfirmationNeededEvent is triggered when a pendable requiring confirmation is created. This allows us to define an event handler for this event which sends the user notification. - SubscriptionEvent is triggered when a member is added to a mailing list. This lets us define an event handler which sends the welcome message. * send_welcome_message() now takes a member parameter instead of an address, which lets us directly access the member's delivery mode and user display name (if the member has a user, which it might not in some cases). * Use the list id in the pendable record instead of the list name for robustness (the latter can change but the former is permanent). * Test more registration conditions. * In the bin/runner command line switch handling, default `verbose` to None instead of False. This makes it work better with nose's -E switch (log to stderr). * In call_api(), if a POST, PUT, or PATCH method is used and data is None, encode the empty dictionary; seems like the behavior of urlencode() has changed, so this is safer. * Fix style and pyflakes warnings.
* Bump copyright years.Barry Warsaw2014-01-011-1/+1
|
* - Write ./var/etc/mailman.cfg if it doesn't already exist.Barry Warsaw2013-03-201-1/+7
| | | | | | | - Use ./var/etc/mailman.cfg if it exists, just after ./mailman.cfg and just before ~/.mailman.cfg. - Add link to FHS - Whitespace normalization.
* Bump copyright years.Barry Warsaw2013-01-011-1/+1
|
* * The policy for archiving has now been collapsed into a single enum, calledBarry Warsaw2012-07-261-9/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ArchivePolicy. This describes the three states of never archive, archive privately, and archive_publicly. (LP: #967238) Database -------- * Schema migrations (LP: #971013) - include_list_post_header -> allow_list_posts - news_prefix_subject_too -> nntp_prefix_subject_too - news_moderation -> newsgroup_moderation - archive and archive_private have been collapsed into archive_policy. - nntp_host has been removed. * The PostgreSQL port of the schema accidentally added a moderation_callback column to the mailinglist table. Since this is unused in Mailman, it was simply commented out of the base schema for PostgreSQL.
| * Refactor to better handling the difference between a testing database and aBarry Warsaw2012-07-251-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | production database. - Add an IDatabaseFactory interface with two named utility implementations. The initialization subsystem will either ask for the 'testing' or 'production' factory utility depending on whether we're in the test suite or not. The testing factory returns an IDatabase that can be _reset(). - initialize_2() now takes an optional `testing` argument, defaulting to False. The test ConfigLayer will pass in True. - Remove _reset() from the base database class. - The ModelMeta now adds a PRESERVE attribute to database classes. This defaults to False, meaning by default the test framework will reset the table. The Version table is preserved because it records the schema migrations. - Because of the above, we no longer need to support pre_reset() and post_reset() on migrations. Also, bin/mailman should allow the standard configuration file search algorithm to be used except when -C/--config is given.
| * trunk mergeBarry Warsaw2012-07-061-2/+4
| |\ | |/ |/|
* | More consistency in the way post-configuration changes are processed. LessBarry Warsaw2012-07-021-4/+2
| | | | | | | | | | | | | | | | | | | | magic in the _post_process() method, more ConfigurationUpdatedEvents. More centralization of event initialization. Added property Configuration.language_configs. Instead of initializing events in initialize_2(), initialize them in initialize_1() and do it before the configuration is loaded.
* | * `passlib`_ is now used for all password hashing instead of flufl.password.Barry Warsaw2012-07-021-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default hash is `sha512_crypt`. * Events renamed and moved: * `mailman.chains.accept.AcceptNotification` * `mailman.chains.base.ChainNotification` * `mailman.chains.discard.DiscardNotification` * `mailman.chains.hold.HoldNotification` * `mailman.chains.owner.OwnerNotification` * `mailman.chains.reject.RejectNotification` changed to (respectively): * `mailman.interfaces.chains.AcceptEvent` * `mailman.interfaces.chains.ChainEvent` * `mailman.interfaces.chains.DiscardEvent` * `mailman.interfaces.chains.HoldEvent` * `mailman.interfaces.chains.AcceptOwnerEvent` * `mailman.interfaces.chains.RejectEvent` * A `ConfigurationUpdatedEvent` is triggered when the system-wide global configuration stack is pushed or popped. * With the switch to `passlib`_, `[passwords]password_scheme` has been removed. Instead use `[passwords]path` to specify where to find the `passlib.cfg` file. See the comments in `schema.cfg` for details.
| * - Refactor the way databases are schema-migrated so that load_migrations()Barry Warsaw2012-04-081-0/+3
|/ | | | | | | | | | | | | | | can be tested separately. - Add an `until` argument to load_migrations() so that we can load only up to a given timestamp. - In load_migrations(), ignore files in which the `version` part of the file name is empty. - In migrations.rst, use the new, better way of ensuring post-test cleanup. - Add tests for partial upgrades. - LP: #971013 - schema migrations for beta 2. - LP: #967238 - IMailingList.archive + IMailingList.archive_private -> IMailingList.archive_policy, and add ArchivePolicy enum. - Move the `chdir` context manager to helpers.py and add `temporary_db` context manager.
* Eradicate Pipermail. Everything but the scrubber test works. That will takeBarry Warsaw2012-03-151-3/+1
| | | | some new APIs I suspect.
* * The `mailman.cfg` configuration file will now automatically be detected ifBarry Warsaw2012-02-271-4/+11
| | | | it exists in an `etc` directory which is a sibling of argv0.
* copybumpBarry Warsaw2012-01-011-1/+1
|
* Basic infrastructure for fixing bug 827036.Barry Warsaw2011-08-171-0/+2
| | | | | | | | | * Use zope.events to signal when a mailing list has been created or deleted. * Register a handler for the ListDeletedEvent which cleans up member subscriptions. * Relax the criteria for find_members(), both internally and in the REST API, so that the subscriber is not required. E.g. you can now find all members of a mailing list.
* Happy New Year.Barry Warsaw2011-01-011-1/+1
|
* Fix the obvious errors identified by pyflakes. Skip false positives (mostlyBarry Warsaw2010-10-081-1/+0
| | | | | due to _() interpolation) and a few other problems that did not have immediately obvious fixes.
* Oh FFS. lazr.restful 0.9.18 totally broke our shit by introducingBarry Warsaw2010-02-161-10/+9
| | | | | | | | | | | | | | multiversioned web services. In concept, that's a great idea, but in (current as of 0.9.18) practice it sucks because it /forces/ us to adopt multiversions when really I could care less. After gobs of painful experimentation, this passes all the tests. I guess that means it's right <wink>. Another, more reasonable fix is to re-order when logging is initialized. This is moved to the start of initialize_2() because in the test environment, we don't want to initialize the loggers until after the test configuration has been pushed. Otherwise, because of the changes to support the FHS, logging will go to the wrong place. This really only affects tests, since in operational mode, initialize always happens immediately one after another.
* Checkpointint support for different path layouts, allowing us to optionallyBarry Warsaw2010-01-271-1/+0
| | | | | | | | support the Filesystem Hierarchy Standard. This is done through the configuration file. * add a --paths/-p option to 'bin/mailman info' * PIDFILE -> PID_FILE
* Happy New Year.Barry Warsaw2010-01-011-1/+1
|
* The test suite has to be able to inhibit the loading of any configurationBarry Warsaw2009-12-131-0/+9
| | | | files.
* Extend the mailman.cfg search algorithm, and make it work across allBarry Warsaw2009-12-131-0/+31
| | | | applications.
* * Refactor the language manager off of the config object and into a utility.Barry Warsaw2009-12-101-3/+3
| | | | | | | | * 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.
* Factor out most of the i18n subsystem and convert to using the flufl.i18nBarry Warsaw2009-11-151-0/+1
| | | | package.
* More REST server updates.Barry Warsaw2009-06-291-9/+7
| | | | | | | * 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-161-9/+4
|
* Add initialization pre- and post- hooks, configurable in the config file.Barry Warsaw2009-05-151-5/+17
| | | | | | | | | | | This lets you run a bit of Python at various stages of the initialization process. Move the warnings filters to the top mailman package __init__.py so you always get it. lazr.restful is too chatty. The environment variable $MAILMAN_CONFIG_FILE now overrides -C. Hmm, I think we really want it the original way.
* Remove the mailman.database setup.py plugin, instead opting for defining theBarry Warsaw2009-03-051-4/+6
| | | | database class in the configuration file.
* Convert content filter and acceptable aliases away from pickle types.Barry Warsaw2009-03-031-0/+3
| | | | | | | * 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
* Checkpointing the conversion of automatic responses away from pickles.Barry Warsaw2009-02-161-0/+2
|
* Push the source directory into a 'src' subdirectory so that zc.buildout worksBarry Warsaw2009-01-251-0/+125
correctly regardless of how it's used.