| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
* Remove an unused import.
* Add skips for all migration unit tests.
* Fix model class attribute typo.
* .values() returns tuples, so adjust for that.
* Add a test.
|
| | |
| |
| |
| |
| |
| |
| | |
* add left out documentation
* remov super(<class>).__init__() calls in models
as it was useless now.
* remove schema_migrate func in mailman/database/base.py
|
| | |
| |
| |
| | |
* fix almost all the errors relating to doctests
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
* update some queries to match SA style
|
| | | |
|
| | | |
|
| |/ |
|
| |
|
|
|
|
|
|
| |
reflect this.
Also, mock out sys.stderr on some tests so that their nose2 output is quieter.
A few other minor coding style consistencies.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | | |
|
| | | |
|
| |/
|
|
|
|
|
| |
* Rename StormBaseDatabase._create() -> .initialize()
* Refactor database initialization.
* make_listid() helper.
* Add a pivot() helper for schema migrations.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
mailinglist.unsubscribe_policy, mailinglist.subscribe_auto_approval.
|
| | |
|
| |
|
|
| |
removed.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
IMailingList.style_name attribute. The problem is, there's nothing to
guarantee that only one style will get run, and there's no sense in keeping
track of the last style applied.
Also:
* Remove ListManager.create()'s setting of .personalize and .display_name.
These should be left to the styles. (There's no reason why only these two
would be set here.)
* Fix some typos.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Rework list style management. No more style priorities or matching.. Now,
you name a style explicitly to apply and that's it.
* create_list() now takes a `style` argument.
* config file now names both a default style to use, and a set of paths to
scan for IStyle instances. (This could be a model for other plugins.)
* added IMailingList.style_name to record the last style applied, but this is
going to be removed in subsequent revisions.
Also:
* Move find_components() and scan_module() from app/finder.py to
utilities/modules.py
* Cleaned up lifecycle.rst for better documentation. Some tests moved to
test_lifecycle.py.
* Remove some unnecessary test tearDown() code.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
--------
* The `ban` table now uses list-ids to cross-reference the mailing list,
since these cannot change even if the mailing list is moved or renamed.
Interfaces
----------
* The `IBanManager` is no longer a global utility. Instead, you adapt an
`IMailingList` to an `IBanManager` to manage the bans for a specific
mailing list. To manage the global bans, adapt ``None``.
|
| | |
|
| |
|
|
| |
- member.mailing_list -> list_id
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
now via the RFC 2369 `list_id` instead of the fqdn listname (i.e. posting
address). This is because while the posting address can change if the
mailing list is moved to a new server, the list id is fixed.
(LP: #1024509)
+ IListManager.get_by_list_id() added.
+ IListManager.list_ids added.
+ IMailingList.list_id added.
+ Several internal APIs that accepted fqdn list names now require list ids,
e.g. ISubscriptionService.join() and .find_members().
+ IMember.list_id attribute added; .mailing_list is now an alias that
retrieves and returns the IMailingList.
- list_id added (LP: #1024509)
|
| |
|
|
|
|
|
|
|
| |
- migration.rst needs special cleanup since the Version table is no longer
wiped by the test machinery. This only caused failures when running
the migration.rst test multiple times, and only on PostgreSQL.
- Complete the removal of archive_volume_frequency and
generic_nonmember_action for PostgreSQL.
- Remove setting archive_volume_frequency in the default style.
|
| |
|
|
| |
(LP: #975696)
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
include_list_post_header -> allow_list_posts
Also add a bunch more migration tests.
|
| | |
| |
| |
| | |
into the hands of the database modules, by using ZCA adapters.
|
| | |
| |
| |
| | |
them.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
individual database classes themselves. This does mean that the temporary
factory must know something special about the sqlite and postgresql databases,
but I think that's an acceptable trade-off.
This should make the test code cleaner, and allow me to write better support
for temporary PostgreSQL databases.
|
| | | |
|
| | |
| |
| |
| | |
the testing framework.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| | |
- store.rollback() is better than store.execute('ABORT;')
- We need to do a commit after the migrations are loaded.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
- Improve migration logging
- Disable pre_reset() and post_reset() on migrations, which might need to be
re-enabled for SQLite support.
- Be sure to record the migration version in PostgreSQL.
- Parameterize the Error that will occur.
- Better sample data for PostgreSQL and SQLite, which have different formats.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
- Refactor load_schema() into a separate load_sql() method.
- Add API for test suite to make a temporary database.
- Add code to migrate the PostgreSQL database.
- Comment out `moderation_callback` from the PostgreSQL SQL; this must have
snuck in accidentally via the contributed port.
- Refactor test_migrations.py
|