| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
The tests do require a partial French translation for digester.txt, so just
include the bare minimum, already msgfmt'd in the mailman.testing package.
|
| |
|
|
| |
* Remove the dependency on setuptools_bzr and use a MANIFEST.in instead
|
| |
|
|
| |
package.
|
| |
|
|
|
| |
Update the lazr.restful IWebServiceConfiguration implementation to include the
new hop_by_hop_headers attribute, by way of BaseWSGIWebServiceConfiguration.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
the namespace package. This gets things working on a fresh Ubuntu Karmic
installation.
|
| | |
|
| |
|
|
|
|
| |
now, except that it has a bug where it can't handle "from __future__ import absolute_import".
Robustify master.py so that we can't get into a situation where the pid dictionary changes size during iteration. No test, but this should be fixed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
now the only subcommand is 'lists' which displays all mailing lists like the
old bin/list_lists command did (which is now removed).
Remove bin/version since 'bin/mailman --version' does this for us.
Simplify the calculation of the bin scripts; there will be many fewer of them.
Extend i18n to use a class based structure. By default, all i18n strings are
dedented after translation and substitution, which improves command line
help. The class structure allows for overriding this behavior.
|
| |
|
|
|
|
|
|
| |
* bin/lint.sh runs the linter (be very afraid)
* bin/docs runs Sphinx over the documentation (needs refining)
src/sphinxconf.py is an ugly hack to hook the buildout recipe so that we can
ignore text files in our tree that are not documentation.
|
| |
|
|
| |
understand. Cargo culting FTW.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
database class in the configuration file.
|
| | |
|
| |
|
|
| |
correctly regardless of how it's used.
|
| |
|
|
| |
suite does not yet work though.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
convenient testing, if -C is not given, then the environment variable
MAILMAN_CONFIG_FILE is consulted.
- Mailing lists no longer have a .web_page_url attribute; this is taken
from the mailing list's domain's base_url attribute.
- Incoming MTA selection is now taken from the config file instead of
plugins. An MTA for Postfix+LMTP is added. bin/genaliases works again.
- The LMTP server now properly calculates the message's original size.
- If a message has no Message-ID, the stock archivers will return None for
the permalink now instead of raising an assertion.
- IArchiver no longer has an is_enabled property; this is taken from the
configuration file now.
- In bin/create_list, fixed a unicode problem when the language is defined in
the configuration file.
- Fixed bin/dumbdb, bin/list_lists, bin/remove_list, bin/unshunt, and
bin/mailmanctl
- config.archivers is a property now, not a dictionary that needs
initialization from plugins.
- IMailTransportAgent interface has been added.
|
| |
|
|
|
| |
* Change setup.py to use gettext's msgfmt command
* Fix typo
|
| |
|
|
|
|
|
|
|
|
| |
options to bin/test.
More test repair, even though it's cheating. Use a bunch of variables from
Defaults.py even though these will have to be moved to the schema.cfg.
Update logging initialization to consult the propagate flag from the command
line. Also skip mailman.root since this is not a valid logger.
|
| |
|
|
|
|
|
|
|
|
| |
mailman.configuration -> mailman.config.config
mailman.initialize -> mailma.core.initialize
mailman.loginit -> mailman.core.logging (yay future absolute imports!)
Convert all configurations to lazr.config, though some legacy still remains,
and I haven't been able to remove Defaults.py yet. Added as_boolean() and
as_log_level() helpers for explicit type conversion. Added a schema.cfg.
|
| |
|
|
|
|
| |
Added a NEWS file.
Move old bin scripts to the attic.
|
| | |
|
| |
|
|
|
| |
that's part of the 'application', i.e. non-essential to the core functionality
is left in mailman.app. This division of labor is still formative.
|
| | |
|
| |
|
|
|
|
| |
from the prototype archiver.
Add a mailman.archiver log.
|
| |
|
|
|
|
|
|
|
| |
the Pipermail, Prototype, and MailArchiver plugins into separate modules.
Put the archives registry on the config object and initialize it at the right
time.
Update plugin entry points.
|
| |
|
|
|
| |
Fix the start up of the SMTPServer to listen on a consistent port number.
post_number -> post_id
|
| |
|
|
|
|
|
|
|
| |
using the current concept of the hash. This can change, but at least now I
have the interfaces and infrastructure to support this header. Of course,
Pipermail doesn't support a permalink, so that archiver no-ops.
Add an adapter to provide the interface that Pipermail requires over and above
the IMailingList interface. Add an is_enabled flag to IArchiver.
|
| | |
|
| |\
| |
| |
| |
| | |
plugin architecture. Update the Echo command to the new architecture. Add a
doctest of course.
|
| |/ |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
- Lots of Pipermail work just to get it to play nice with the new apis.
- Fix ARCHIVE_SCRUBBER
- Lots of changes to mailman.app.archiving, especially to provide an
adapter from the new MailingList api to the one expected by
Pipermail (e.g. archive_dir()).
- Add a test of the basic pipermail archiver.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
functionality of mailmanctl into a separate master watcher script. mailmanctl
has not yet been updated but that'll happen next.
Fix DELIVERY_MODULE to name a handler instead of a module.
Change make_instance to use pkg_resources instead of module.__file__.
Change the qrunner and master processes coordination so that the qrunners are
not restarted on SIGINT, because otherwise C-c just doesn't work. Now SIGUSR1
is how we'll implement 'mailman restart'.
Add a database commit so that initializing the schema doesn't lock the sqlite
database. Also, don't try to initialize the schema if the tables already
exist. Use some sqlite magic to do this test.
Move mailman.cfg.in into a new package Mailman/extras inside the tree. Also,
MAILMAN_UID and MAILMAN_GID should be integers not strings.
Convert the command runner to use an IHandler instance instead of handler
module. Similarly for the outgoing runner, DELIVERY_MODULE now names an
IHandler instance instead of a handler module.
|
| |
|
|
|
|
|
|
|
| |
this module, in favor of moving exceptions into the interface modules that
they are appropriate for.
For now, this is just the low-hanging fruit.
Along the way, clean up by reSTifying some interfaces and implementations.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now plugins can define additional handlers and the handlers can be organized
into named pipelines. Modules are no longer the unit of a handler, now we use
classes so we can assert interface conformance.
The GLOBAL_PIPELINE is gone, replaced by the 'built-in' pipeline. The
OWNER_PIPELINE is not yet replaced.
I still need a few more tests of the basic pipeline architecture, although the
individual handlers have pretty good coverage.
Added the IHandler and IPipeline interfaces.
Still broken, but not yet removed: Mailman/pipeline/moderate.py.
|
| |\ |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
to the archiver. Also add a plugin architecture for easily overriding the
archiver, and hook this into the setup.py script.
Updated CookHeaders.py and Scrubber.py handlers to use the plugged archiver.
Updated doctests as appropriate.
Fix a typo in the setup.py file.
|
| | |
| |
| |
| | |
year.
|
| | |
| |
| |
| | |
<wink> works around the storm cache bug #178546.
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
| |
The basic idea is that we process rules on a mlist, message, metadata triplet
making a list of all rules that hit. Then a different part of the system will
decide on the disposition of a message based on which rules hit and their
priority.
The doctest and plugin architecture is in place, including the tie-in to
setup.py. Ported the first rule -- emergency.py -- to the new rule
processor.
We no longer need SQLAlchemy as a requirement, and the setuptools/bzr plugin
name has changed.
|