| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| | |
|
| |\
| |
| |
| | |
file. Given by Andrea Crotti. (LP: #953707)
|
| | | |
|
| |/ |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
resources now accept a `held` path component. GETing this returns all held
messages for the mailing list. POSTing to a specific request id under this
url can dispose of the message using `Action` enums.
* `IRequests` interface is removed. Now just use adaptation from
`IListRequests` directly (which takes an `IMailingList` object).
* `handle_message()` now allows for `Action.hold` which is synonymous with
`Action.defer` (since the message is already being held).
* `IListRequests.get_request()` now takes an optional `request_type`
argument to narrow the search for the given request.
- also, print_function is now a standard __future__ import. The template has
been updated, but add this to modules as you edit them.
|
| | |
|
| |
|
|
|
|
| |
* Code cleanup (<> -> != ... sigh)
* Minor refactoring of database setup code so that touch() is moved to the
SQLiteDatabase class; it's not relevant for PostgreSQL.
|
| |
|
|
|
|
|
|
|
| |
automatically do the right thing in most cases. Keep test_suite() in
test_documentation.py since these dynamically set up docs tests properly.
Refactor test_passwords.py so that base class tests aren't bogusly run. Also,
remove test_membership.py which was essentially disabled because it was
testing the MM2 membership API.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* acquire_lock_1(): No need to unlink the tempfile
* Start.process(): Don't print error message when the lock is in stale_lock
or host_mismatch status and --force has been given.
* control.rst: Refactor test code into test_control.py.
* test_create.py: To more accurately mimic argparse, FakeParser.error() needs
to `sys.exit(1)`. The `SystemExit` must also be caught in the appropriate
tests.
* logging.py: Locking is now down by the flufl.lock package, so apply the
`mailman.lock` configuration to it.
|
| |
|
|
|
|
|
|
|
|
|
| |
Also:
* Use utilities.datetime.now() so that moderation related dates are
predictable during the test suite.
* When a message is accepted, drop it in the pipeline queue. The above bug
was caused by the message going in the incoming queue, and then being
re-moderated.
* Expose mailman.bin.master.Loop in __all__.
* Add some helpful debug logging.
|
| | |
|
| |
|
|
|
| |
for consistency. This changes the REST API for mailing list
resources. (LP: #787599)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
including site-packages in the built-out environment is what was causing
FreeBSD to fail to find the _sqlite module. As it turns out, the reason for
adding this no longer appears relevant on Ubuntu, so just remove the setting.
Fix a reference error in bin/runner.py
Rename:
* START.txt -> START.rst
* README.txt -> README.rst
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Queue runners are now called just 'Runners' since several of them don't
manage queue directories.
* Ban the term 'qrunner' too.
* The master queue runner watcher should now just be called the 'master' or
the 'master runner'.
* bin/qrunner -> bin/runner
* mailman.qrunner log file -> mailman.runner
* master-qrunner.lck -> master.lck
* master-qrunner.pid -> master.pid
Also:
* Remove some obsolete files
* Begin the .txt -> .rst renaming
|
| | |
|
| |
|
|
| |
* Remove mmsitepass.py - there is no more site password.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
does a pretty good job anyway.
* Remove master.get_lock_data() now that flufl.lock 2.1 provides the same
detailed information.
* Add WatcherState.none to indicate that the master is not running.
* Instrument master_state() and acquire_lock_1() for testing, and add
unittests.
* LBYL for 'bin/mailman start' so that the error message when the master is
already running happens in the foreground process and is more user friendly.
* Add 'bin/mailman status' to provide master queue runner status on the
command line.
|
| | |
|
| |
|
|
|
| |
due to _() interpolation) and a few other problems that did not have
immediately obvious fixes.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
var_dir in the config file is a relative path, the bin/master and bin/qrunner
subprocesses end up creating another hierarchy under $VAR_DIR. This is
because 'bin/mailman start' chdirs to $VAR_DIR before starting master.
The fix involves putting the absolute path to $VAR_DIR in the $MAILMAN_VAR_DIR
environment variable. If the configuration file reader sees this, it uses the
value instead of $var_dir from the configuration file.
Another change is to remove qrunner's --subproc/-s option and stick this in
the environment as well, using $MAILMAN_UNDER_MASTER_CONTROL.
Other fixes here include:
* Deciphering the master lock file contents correctly
* Reformatting the error message so that it fits in 79 columns when prefixed
by argparse error info.
|
| |
|
|
| |
* Update printing of version string to avoid argparse DeprecationWarnings.
|
| |
|
|
|
| |
REST architecture, at the expense of a few features, and less support. So far
so good though.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
support the Filesystem Hierarchy Standard. This is done through the
configuration file.
* add a --paths/-p option to 'bin/mailman info'
* PIDFILE -> PID_FILE
|
| |
|
|
| |
members'
|
| | |
|
| |
|
|
|
|
| |
* delete_member(): If the address is not associated with a member, raise
NotAMemberError.
* NotAMemberError -> interfaces/member.py
|
| |
|
|
|
|
|
|
| |
* 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.
|
| | |
|
| |
|
|
| |
* In most human readable text, qrunner -> queue runner
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
package.
|
| |
|
|
|
| |
never killed with a signal. In the real-world, it is though. So put the
.pause() in a method that can be overridden by TestableMaster.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Expose the database store on .store instead of ._store
A few other cleanups.
|
| | |
|