| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
* Add NEWS entry.
* De-duplicate emails in the sequence passed to the model's
ISubscriptionService.unsubscribe_members() method.
* Modify the semantics of the DELETE method to return a mapping of
addresses to boolean status.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Update tests to check for return values
|
| | |
|
| |
|
|
|
|
|
| |
This suppresses all errors in the file. Use `noqa`, although pep8
doesn't honor this for all errors.
There may be a plugin which helps.
|
| | |
|
| |
|
|
| |
Fix lots of import order errors discovered by the new plugin.
|
| | |
|
| |
|
|
|
| |
New subscription requests are rejected if there is already one pending.
With thanks to Anirudh Dahiya. (Closes #199)
|
| |
|
|
|
|
| |
Trying to subscribe an address as a list owner (or moderator or
nonmember) which is already subscribed with that role produces a server
error.
|
| | |
|
| | |
|
| |
|
|
| |
Also: Opportunistically remove ^L for better coverage results.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
When approving a subscription request via the REST API, for a user who is
already a member, return an HTTP 409 Conflict code instead of the previous
server traceback (and resulting HTTP 500 code).
Closes #193
|
| |
|
|
| |
Closes: #161
|
| |
|
|
|
| |
This refactors the setting of a user's preferred address to the first in
their list of linked addresses.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Add NEWS
* Update copyright years.
* Adjust for new IAPI.path_to() interface.
* Style.
* Remove some unreachable code.
* Boost coverage.
* Change some Bad Requests into Not Founds.
* Do not include `list_id` in resource JSON for global bans.
* Rephrase some doctests.
|
| |
|
|
| |
Wrap lines.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Use coverage.ini to ignore a few common idioms, so as to reduce code clutter.
Invoke coverage slightly differently in the tox.ini.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
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).
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
* digestable -> digests_enabled
* nondigestable: removed
* Exposed digests_enabled, digest_send_periodic, digest_volume_frequency in
REST.
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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!
|
| | |
|
| |
|
|
| |
Add some assertions to prove this is always the case.
|
| |
|
|
| |
Cleanups by Barry. Closes !67
|
| | |
|
| | |
|
| |\
| |
| |
| |
| | |
By POSTing to a user resource with an existing unlinked address, you can link
the address to the user. Given by Abhilash Raj.
|