| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| |
|
|
|
|
| |
* delete_member(): If the address is not associated with a member, raise
NotAMemberError.
* NotAMemberError -> interfaces/member.py
|
| |
|
|
|
|
| |
* add_member() now returns the newly created IMember.
* Reorganized several exceptions and exposed them to the REST API.
* Added NoSuchListError.
|
| | |
|
| |
|
|
|
|
|
| |
This is because registration confirmation messages must come from the mailing
list that the subscription request came from.
Remove IDomain.confirm_address() since this lives only on the IMailingList now.
|
| |
|
|
| |
problem where the confirmation message doesn't know where to come from.
|
| |
|
|
|
|
|
|
| |
* Fix a few small typos in exception handlers.
* Move the initialization of the Zope Component Architecture into the first
initialization step. The only reason we couldn't do that previously was
because the domain object referenced the config, causing a circularity
problem. Refactor the Domain implementation to avoid that.
|
| |
|
|
| |
for bin/mailman unshunt.
|
| |
|
|
|
|
|
|
| |
* Give IMailingList a .domain attribute which looks up the IDomain for its
.host_name. This cleans up a lot of code.
* Add a test for the 'confirm' email command.
* Suppress blank lines in email command responses.
* Make the IDomainCollection a utility.
|
| | |
|
| | |
|
| |
|
|
| |
package.
|
| |\ |
|
| | |
| |
| |
| |
| | |
database support goes in mailman.database. Move stuff out of
mailman/database/__init__.py.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
SMTP.sendmail().
Handle SMTPRecipientsRefused just like smtp_direct.py.
Hack the test mail server to be able to generate failures. SMTP responses
must be bytes (don't forget we're using unicode literals).
|
| | | |
|
| |/
|
|
| |
Add IMailTransportAgentDelivery and begin to flesh out the doctest.
|
| | |
|
| |
|
|
| |
utility.
|
| |
|
|
| |
IUserManager utility.
|
| | |
|
| |
|
|
|
|
|
| |
tasks. This also let's the bin/mailman command sort its subcommands for help
printing.
Add the outline of a 'members' subcommand.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
Also, extend the ListManager so that it implements IResolvePathNames, so that
it can get() sub-mailing lists.
|
| |
|
|
|
|
| |
the improvement of the publication's handleException() method.
Pick some lint in traverse.py.
|
| | |
|
| |
|
|
|
|
| |
return an HTTP 400 error, though it does not seem to work.
Expose list creation through the API.
|
| |
|
|
|
|
| |
* Better titles in the IMailingList interface.
* Expose the real_name attribute.
* Refactor URL mappers.
|
| |
|
|
|
|
|
|
|
| |
webserver.
Fix the https/http urls.
Add the adapter for HTTPCharsets so POSTs work properly. Nice little cargo
cult from lazr.restful.
|
| |
|
|
|
|
|
|
| |
Add an IDomainManager and a global domain manager which can be gotten by
adapting the global config object.
Add an IDomainCollection interface for exposing the domain manager onto the
API.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add get_mailing_lists() which is used just for the web interface. Because of
a bug in lazr.restful, this cannot be a generator.
Similar change in IDomainSet.
Instrument IListManager to be vended through the api.
The REST server must be run in a separate process since SQLite does not like
objects created in one thread to be used in another thread. Note that this
breaks the domain.txt test, but domains really need to be in the database
anyway.
|
| |
|
|
|
|
|
| |
* Get rid of in-Python adapter registration in favor of ZCML. Eventually, I'd
like to get rid of the ZCML.
* Set the view_permission to None, but it's still not right.
* Add IDomainSet and an adapter from Configuration to IDomainSet.
|
| |
|
|
|
| |
runner flag to indicate whether the qrunner parent process should intercept
signals or not. The REST server should not intercept signals.
|
| |
|
|
|
|
|
|
|
| |
* Use the source version of lazr.restful until it's cheeseshopped.
* IHasGet -> IResolvePathNames
* path_override -> None; we don't need this
* Simplify publication. We don't need anything fancy, except that what sucks
is that it seems like we need to unwrap the security proxy in callObject()
* Adaptation to IAbsoluteURL still doesn't work right.
|
| |
|
|
| |
understand. Cargo culting FTW.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Add infrastructure that the first REST interface will use, i.e. providing the
Mailman and Python versions.
Update bin/version
|
| |
|
|
|
|
|
|
| |
Refactor the finding of components so that it's much easier to find and
register the ones that come with Mailman by default.
Move all the old cmd_*.py commands into the attic. These will eventually be
ported to the new framework.
|
| | |
|
| |
|
|
| |
database class in the configuration file.
|
| |
|
|
|
| |
set. Make this possible by moving list_id to an attribute of the MailingList
object instead of hard-coding its calculation in cook_headers.py.
|
| |
|
|
|
|
|
| |
* Add an adapter from mailing lists to acceptable alias set. Use this instead
of the old acceptable alias interface, which is not removed.
* Add contentfilter table
* Add a bunch of missing docstrings
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Make it explicit to get the last digest (I could imagine an user selecting not
to). Actually add tests for this.
Start to get rid of 'from storm.locals import *' in favor of more specific
imports. Start to use Store.of() instead of config.db.store where we can.
Rework (delivery)MemberRosters to use the Member attributes. This ensures
that the layered lookup happens at the expense of query optimization.
Sundry and various cleanups.
|
| |
|
|
|
|
|
|
|
| |
inject_message() grows a keyword argument dictionary which gets merged into
the message metadata.
Move NODELTA into the autorespond interface as ALWAYS_REPLY.
Convert the integer response values into the ResponseAction enum.
|
| |
|
|
|
| |
testing harness. Remove the {admin,postings,request}_response attributes, but
these are not apparently tested.
|
| | |
|