summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix getting a list member through the 3.1 APIAurélien Bompard2016-01-132-11/+31
|
* Refactor API differences into a separate class.Barry Warsaw2016-01-1319-94/+128
| | | | | | | | | | | We now have an IAPI interface which defines methods to convert to/from UUIDs to their REST representations, and to calculate the API-homed full URL path to a resource. Add implementations API30 and API31 to handle the two different implementations so far. This also simplifies the various path_to() calls. Also: Add support for diff_cover to tox.ini to check that all differences against the master branch have full test coverage.
* Refactor API contexts.Barry Warsaw2016-01-1314-100/+158
| | | | | | Rather than sprinkle API version string tests all over the place, create an IAPI interface which encapsulates the differences between API 3.0 and 3.1, and arrange for this to be used to convert to and from UUIDs.
* Several optimizations:Barry Warsaw2016-01-1120-97/+105
| | | | | | | | | | | | * Use `yield from` wherever appropriate. * Use SA's .one_or_none() where appropriate. - Fix a bug in MailingList.pass_extensions. - Use ValueError in other places for consistency. - Remove unreached/nonsense code. - Simplify the SubscriptionService.find_member() and .find_members() implementations. - Boost coverage.
* Use the more efficient find_member() API.Barry Warsaw2016-01-111-4/+3
|
* Delegate more to the underlying query object and don't use a cached results.Barry Warsaw2016-01-102-4/+10
|
* Boost coverage.Barry Warsaw2016-01-095-15/+94
|
* Boost coverage.Barry Warsaw2016-01-085-29/+131
|
* Refactor some tests and documentation.Barry Warsaw2016-01-075-216/+339
| | | | | | Increase coverage. Add ISubscriptionService.find_member() as per discussion.
* Docstring.Barry Warsaw2016-01-061-0/+6
|
* A little bit more refactoring, just to keep things cleaner.Barry Warsaw2016-01-062-4/+5
|
* Complete the layer violation fixes by moving the SubscriptionService class toBarry Warsaw2016-01-063-109/+133
| | | | the mailman.model package.
* Additional refactoring to use the QuerySequence wrapper, so that we can stillBarry Warsaw2016-01-069-33/+75
| | | | | | use len() and slicing on SQLAlchemy query results. We also don't need to list()-ify the results in the tests. This isn't perfect, but at least it doesn't introduce yet another layer violation.
* Make the members request pageableAurélien Bompard2016-01-067-24/+26
|
* Return SQL queries in IListRequests.of_typeAurélien Bompard2016-01-062-4/+2
|
* Support SQL queries for CollectionMixin._get_collectionAurélien Bompard2016-01-062-4/+20
|
* More coverage.Barry Warsaw2016-01-042-2/+25
|
* Boost coverage.Barry Warsaw2016-01-038-11/+100
| | | | | | Use coverage.ini to ignore a few common idioms, so as to reduce code clutter. Invoke coverage slightly differently in the tox.ini.
* Happy New Year.Barry Warsaw2016-01-02365-370/+370
|
* Cleanups, corner case fixes, and coverage.Barry Warsaw2015-12-319-24/+97
|
* Major push for completing issue #121. Now in API 3.1, all UUIDs must be theBarry Warsaw2015-12-3016-80/+497
| | | | | | | | | hex representations of a UUID, not the int representation. Also: * Some general code cleanup. * Fix issue 185 (REST server crash when subscribing a user without a preferred address).
* More coverage.Barry Warsaw2015-12-294-2/+27
|
* Coverage improvements.Barry Warsaw2015-12-297-10/+54
| | | | | | | | * Boost coverage. * Don't report coverage on the test modules. * In one test, when acquiring the lock, set a timeout. Hopefully this will eliminate the occasional test deadlock. * Fix a buglet in wrap()
* Boost coverage.Barry Warsaw2015-12-264-11/+92
| | | | | Use Python 3.5 to run the coverage tests. Clean up the code style a bit.
* Tweak the API.Barry Warsaw2015-12-261-23/+37
|
* Give the predictable ID factories similar APIs.Aurélien Bompard2015-12-265-34/+54
|
* Return predictable token IDs in testing mode.Aurélien Bompard2015-12-262-17/+33
| | | | | | This commits builds upon the mailman.utilities.uid.UniqueIDFactory to generate predictable tokens when the testing mode is activated. This will make VCR tapes more diffable between runs.
* The ``mailman members`` command can now be used to display members based onBarry Warsaw2015-12-226-176/+270
| | | | | subscription roles. Also, the positional "list" argument can now accept list names or list-ids.
* Bump coverage to 100%Barry Warsaw2015-12-222-4/+39
|
* Expose the "bump digest" and "send digest" functionality though the REST APIBarry Warsaw2015-12-226-9/+238
| | | | | | | via the ``<api>/lists/<list-id>/digest`` end-point. GETting this resource returns the ``next_digest_number`` and ``volume`` as the same values accessible through the list's configuraiton resource. POSTing to the resource with either ``send=True``, ``bump=True``, or both invokes the given action.
* Port bump-digests to MM3, via the `mailman digests` command.Barry Warsaw2015-12-224-102/+110
| | | | | Fix a buglet where if maybe_send_digest_now() was called before a digest has been prepared, a FileNotFoundError would be raised.
* Refactor bump_digest_number_and_volume() and maybe_send_digest_now() intoBarry Warsaw2015-12-226-175/+463
| | | | | | | | | their own module inside the mailman.app package. With the latter, remove the "all lists" functionality and require the mlist argument. We'll handle the "all lists" use case higher up the stack. Also, rename the send-digests handler digests since we'll next add the bump functionality.
* Be liberal with the transaction.Barry Warsaw2015-12-212-8/+13
|
* Add a test and a fix for the no-args version of `mailman send-digests`.Barry Warsaw2015-12-202-7/+74
|
* Move the data_paths.Barry Warsaw2015-12-204-5/+45
|
* Add a send-digests subcommand to send list digests right now.Barry Warsaw2015-12-2014-126/+433
| | | | | | | | | | | | | | * Add a `mailman send-digests` subcommand which replaces the functionality of the MM2.1 senddigests.py cronjob. * Use mlist.data_path where appropriate instead of crafting it from config.LIST_DATA_DIR. This makes it more consistent to switch to using the list-id as the data subdirectory. * Refactor the to_digest handler so that we can implement maybe_send_digest_now() for the internal API. * Fix some typos in subcommand --help summaries.
* NEWSBarry Warsaw2015-12-191-0/+3
|
* Digests improvements:Barry Warsaw2015-12-1911-16/+211
| | | | | | | * digestable -> digests_enabled * nondigestable: removed * Exposed digests_enabled, digest_send_periodic, digest_volume_frequency in REST.
* Slightly better suggestions for creating the Alembic file.Barry Warsaw2015-12-191-7/+4
|
* Update NEWS.Barry Warsaw2015-12-171-0/+2
|
* Merge branch 'master' of gitlab.com:mailman/mailmanBarry Warsaw2015-12-170-0/+0
|\
| * Fix the error code for a corner case.Barry Warsaw2015-12-172-7/+7
| | | | | | | | | | | | | | I.e. when the URL is good, but the request dictionary contains a bogus attribute, you should get a 400 error, not a 404. Also, fix some comments.
* | Fix the error code for a corner case.Barry Warsaw2015-12-172-7/+7
|/ | | | | | | I.e. when the URL is good, but the request dictionary contains a bogus attribute, you should get a 400 error, not a 404. Also, fix some comments.
* Remove code accidentally pulled in from another branch.Barry Warsaw2015-12-172-10/+0
|
* Many improvements to listconf.py.Barry Warsaw2015-12-173-64/+304
| | | | | | | | | | | | | | | | Closes #182 * Improve the documentation, especially in describing how to PUT and PATCH to list configuration subresources. * Improve the return codes for many error corner cases. Specifically, this makes more consistent when a 400 error is returned or a 404 error is returned. * Improve the handling of some weird corner cases, and add tests. * Fix the setting of error response reasons by not trying to .format() into a bytes object (which isn't allowed in Python 3). * Add lots of comments to the code, which improves the readability of all the twisty little turns. * 100% code coverage for listconf.py!
* adds tests for new digest attributesYashu Seth2015-12-161-0/+2
|
* adds digest_send_periodic, digest_volume_frequency attributesYashu Seth2015-12-161-0/+2
|
* Optimize pendings.Barry Warsaw2015-12-1616-54/+360
|\ | | | | | | Closes !68
| * A few minor cleanups.Barry Warsaw2015-12-165-33/+29
| |
| * Fix a leftover type argumentAurélien Bompard2015-12-161-1/+1
| |