| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
| |
Fixes #168
Minor style fixes and add another test.
|
| |
|
|
|
|
| |
Fixes: #163
Adapt unit tests.
|
| | |
|
| |
|
|
| |
backported smtpd module which can accept non-UTF-8 data. (Closes #140)
|
| |
|
|
| |
convert them from bytes to message objects.
|
| |
|
|
| |
input. Use this version only for Python 3.4.
|
| |
|
|
|
| |
(Closes #141). Also, don't enqueue a particular digest if there are no
recipients for that digest.
|
| |
|
|
|
|
|
| |
SQLAlchemy is generally pretty chatty and usually not necessary to debug.
Set use_poll=True in asyncore.loop() which improves Python 3.5 compatibility.
We were getting OSErrors in stop() when using select under Python 3.5.
|
| |
|
|
|
|
| |
3.0 except that UUIDs are represented as hex strings instead of 128-bit
integers, since the latter are not compatible with all versions of
JavaScript.
|
| |
|
|
|
|
| |
`X-Message-ID-Hash` although the latter is still included for backward
compatibility. Also be sure that all places which add the header use the
same algorithm.
|
| |
|
|
| |
Fix some tests that incorrectly hardcoded "3.0"
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Make sure Registrar.discard() removces any workflow state manager state
associated with the token, and that this is flushed to SA.
* Adjust the email commands to the new IRegistrar API.
* Update the IRegistrar interface.
* Add IWorkflowStateManager.discard() and make `count` an attribute/property.
* Mark two tests as expected failures due to LP: #1444184.
|
| | |
|
| | |
|
| |\ |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
returns the newly created member.
|
| |/
|
|
|
|
| |
* RequestRecord contains no password key so these are not part of the held
requests database any more.
* Pending record contains `email` now instead of `address`.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
file's ``[paths.*]`` sections. A new ``[paths.here]`` section is added,
which puts the ``var_dir`` in ``$cwd``. It is made the default layout.
* You can now view the contents of, inject messages into, and delete messages
from the various queue directories via the ``<api>/queues`` resource.
Also:
inject_message() and inject_text() now return the filebase of the file
injected into the queue directory.
|
| |
|
|
|
|
|
|
|
| |
``/3.0/system/configuration/<section>``. This returns a dictionary with
the keys being the section's variables and the values being their value
from ``mailman.cfg`` as verbatim strings. You can get a list of all
section names via ``/3.0/system/configuration`` which returns a dictionary
containing the ``http_etag`` and the section names as a sorted list under
the ``sections`` key. The system configuration resource is read-only.
|
| | |
|
| |\ |
|
| | |\ |
|
| | |/
| |
| |
| | |
Fixes bug #1130696 (differently)
|
| | |
| |
| |
| | |
pass.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
load_external() now always opens in utf-8 mode.
More test repair.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
* Revert LP: #1170347 to not .as_string() the message being added the mailbox,
because Python 3.4 handles this properly by default.
Fix up some lmtp code, though I don't thinkk it's quite right yet.
Fix handler tests.
|
| | | |
|
| |/
|
|
|
|
|
|
|
|
| |
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.
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
site owner as a fallback. Given by Aurélien Bompard. (LP: #1130957).
Also:
* Convert some uses of the unicode() built-in to bytes.decode() in
preparation for Python 3 and to eliminate some pyflakes errors.
* Added LogFileMark.read() as a convenience method.
|
| |/
|
|
| |
Fixes: 1130957
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
To do this, we have to handle random test ordering, since tox explicitly sets
PYTHONHASHSEED. That's a good thing for the future Python 3 port.
Removed `mailman conf -t/--sort`; now the output is always sorted.
RFC 2369 headers are now sorted before being added.
etag repr dicts are sorted using pprint.pformat().
|
| |
|
|
|
|
|
|
| |
reflect this.
Also, mock out sys.stderr on some tests so that their nose2 output is quieter.
A few other minor coding style consistencies.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| | |
|
| | |
|