| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| | |
|
| |
|
|
|
|
| |
So you cannot pass a dictionary as variable in templates. Create
a variable for each active archiver for the list. The variable is
of the form of <archiver_name>_url i.e. 'hyperkitty_url'
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Not all enabled archivers in IArchivers are enabled for lists
by default. The correct way is to search for enabled archivers
in IListArchiver set and then get the permalink from the enabled
ones
|
| |
|
|
|
| |
Add a list of links to archives in the message footer
defined in the footer-generic.txt
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
The URL headers (Archived-At and List-Archives) should not be added.
|
| |
|
|
|
|
| |
It is non-functional (calls non-existant methods on the MailingList
object), and a proper fix would require a schema change, so let's
postpone it.
|
| |
|
|
|
|
|
|
|
|
|
| |
Closes: #109
* Fix the traceback that occurred when trying to convert a `text/html`
subpart to plaintext via the `mimedel` handler. Now, a configuration
variable `[mailman]html_to_plain_text_command` in the `mailman.cfg` file
defines the command to use. It defaults to `lynx`. (Closes: #109)
See merge request !14
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | |\ |
|
| | | |
| | |
| | |
| | | |
Fixes bug #1130696 (differently)
|
| | |/
| |
| |
| | |
Fixes: bug #1130696
|
| | |
| |
| |
| | |
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.
|
| |\
| |
| |
| |
| | |
characters in its payload, but no Content-Type header defining a charset.
Given by Aurélien Bompard. (LP: #1170347)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes: #1170347
------------- This line and the following will be ignored --------------
added:
src/mailman/handlers/tests/test_to_digest.py
modified:
src/mailman/handlers/to_digest.py
|
| |\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
have to manually set up the virtualenv. Second, it allows us to later create
a python3 environment for porting purposes.
Other change:
* The `mailman conf` command no longer takes the `-t/--sort` option; the
output is always sorted.
* The ``[database]migrations_path`` setting is removed.
* You no longer have to create a virtual environment separately when running
the test suite. Just use `tox`.
* The RFC 2369 headers added to outgoing messages are now added in sorted
order.
* The JSON representation `http_etag` key uses an algorithm that is
insensitive to Python's dictionary sort order.
|
| |/
|
|
|
|
|
|
|
|
|
| |
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.
|
| | | |
|
| | |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Mailing lists can now individually enable or disable any archiver available
site-wide. Contributed by Joanna Skrzeszewska. (LP: #1158040)
Also:
- IArchivers (i.e. system-wide archivers) now have an is_enabled attribute.
- config.archivers now returns *all* archivers, including those that are
disabled site-wide. This way, iterating over the list-specific archivers
returns everything.
- In the ini-file schema, make the default archiver class empty, otherwise
the Prototype archiver is always enabled.
- Added a `listarchiver` table to support list-specific archivers.
|
| | |/ |
|
| |\ \
| |/
|/| |
|
| |/ |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reduced. Now, only one `-r/--runner` option may be provided and the
round-robin feature has been removed.
* Fixed REST server crash on `reopen` command. Identification and test
provided by Aurélien Bompard. (LP: #1184376)
Also:
* bin/runner now uses standard argparse instead of ScriptOptions.
* The entire bin/runner machinery has bee reorganized and simplified. There
* is no more Loop class. Signal setting is moved directly into the base
Runner class and overrided in specific subclasses (e.g. RESTRunner which
must cleanly shutdown its TCPServer). The runner exit status is now set
directly on the Runner instance.
* Fixed a few minor style issues.
* In order to cleanly shutdown the RESTRunner's WSGI server, we must start a
subthread which only watches for an Event and then calls the server's
shutdown() method. It has to be this way because the WSGI server itself
(due to interactions with SQLite), and the signal handlers (due to Python's
signal handling semantics) must both run in the main thread. However, the
shutdown() must be invoked from a subthread in order to prevent deadlock.
* Refactor the RESTLayer to eliminate duplication of code.
|
| | |
|