| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |/ |
|
| |
|
|
|
|
|
|
|
|
|
| |
test suite against PostgreSQL. See `src/mailman/docs/START.rst` for
details.
Also:
* Test fixes.
* Doc fixes.
* PostgreSQL/model fixes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| | |
|
| |
|
|
|
|
|
| |
- Use ./var/etc/mailman.cfg if it exists, just after ./mailman.cfg and just
before ~/.mailman.cfg.
- Add link to FHS
- Whitespace normalization.
|
| | |
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |\
| |/
|/| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
some new APIs I suspect.
|
| |
|
|
| |
it exists in an `etc` directory which is a sibling of argv0.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* 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.
|
| | |
|
| |
|
|
|
| |
due to _() interpolation) and a few other problems that did not have
immediately obvious fixes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
support the Filesystem Hierarchy Standard. This is done through the
configuration file.
* add a --paths/-p option to 'bin/mailman info'
* PIDFILE -> PID_FILE
|
| | |
|
| |
|
|
| |
files.
|
| |
|
|
| |
applications.
|
| |
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
| |
package.
|
| |
|
|
|
|
|
| |
* 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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
database class in the configuration file.
|
| |
|
|
|
|
|
| |
* 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
|
| | |
|
|
|
correctly regardless of how it's used.
|