summaryrefslogtreecommitdiff
path: root/bin (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Arg! Last minute buglet. Get rid of all traces of bin/digest_arch.bwarsaw2002-03-171-1/+1
| | | | Try again.
* Remove obsolete files.bwarsaw2002-03-161-152/+0
|
* Update copyright years.bwarsaw2002-03-1610-10/+10
|
* Add -s/--start and -e/--end switches to manually specify the start andbwarsaw2002-03-161-5/+36
| | | | | | end message numbers (counted from zero) with which to archive. This can be useful when re-archiving a huge .mbox file, even though you have to manually chunk it.
* -i is now optional unless the -r option is given. IOW, we always dropbwarsaw2002-03-141-2/+9
| | | | into interactive mode unless we --run.
* do_output(): The return type from GetConfigSubCategories() is abwarsaw2002-03-111-1/+1
| | | | | | sequence of 2-tuples. We're only interested in the first element of these 2-tuples, since that is the one that names the subcategory (the second element is a description).
* Add the bin/unshunt script which (safely) moves messages frombwarsaw2002-03-112-1/+78
| | | | qfiles/shunt back to their original queue.
* whymatches(): Add a comment which explains the intended semantics.bwarsaw2002-03-071-1/+3
|
* Actually, Marc's patch was closer than mine.bwarsaw2002-03-071-37/+40
|
* main(): Catch any IndexError exceptions for the args.pop() calls.bwarsaw2002-03-071-36/+40
| | | | These mean usage errors.
* Marc MERLIN's --fromall patch (slightly modified). This allows you tobwarsaw2002-03-061-24/+51
| | | | | remove a particular set of addresses from every mailing list at the site.
* statusp(): Renamed to whymatches() for clarity.bwarsaw2002-03-061-3/+3
| | | | | main(): Forgot to check the value of the nomail flag when filtering out disableds.
* update_qfiles(): Make sure the qfiles/in directory exists before webwarsaw2002-03-051-1/+5
| | | | try to move files into it.
* Patches to support duplicate suppression for explicit recipients,bwarsaw2002-03-051-4/+5
| | | | | | | | | written by Ben Gertzfield, ported to MM2.1 by Marc MERLIN. Specifically, Instead of using LIST_DATA_DIR directly, instantiate a MailList object and use its fullpath() method.
* Add BAW comments so we know that these modules still need to bebwarsaw2002-03-051-0/+1
| | | | converted to the Site module abstractions.
* remove_old_sources(): Add smarts to remove old directories too.bwarsaw2002-02-231-8/+10
| | | | main(): Remove $prefix/Mailman/pythonlib.
* Someone -- I forgot who :( -- made a suggestion that list_membersbwarsaw2002-02-231-26/+92
| | | | | | | | | | | | | | | | | | | should be able to filter on nomail (i.e. delivery disabled) as well as the kind of digest being received. I liked the idea, but wasn't keen on the new command line switches, so I reimplemented it using optional arguments on the switches. Sadly, this means we can't use getopt, but still, it's not that hard to hand code. getopt-sig to the rescue! Specifically, -d/--digest grow an optional argument, and added the -n/--nomail switch. statusp(): Returns a boolean specifying whether the nomail filter matches the delivery status of the member. main(): New option parsing code, and added the filters described above.
* intermediatebwarsaw2002-02-231-0/+36
|
* NONSCRIPTS: Add the new convert.py "withlist" script.bwarsaw2002-02-231-1/+1
|
* Update imports for the new rules on shadowing standard librarybwarsaw2002-02-233-8/+10
| | | | | | | | | modules. Specifically, import the email package /after/ we've imported paths. Also, in add_members: change the import of StringIO to use the Python standard cStringIO module, which we can now pretty much guarantee to be there.
* Sigh. Import order is now essential for command line scripts so thatbwarsaw2002-02-121-3/+5
| | | | | we path-hack before we try to import any email module. We'll need to do an audit of all the command line scripts.
* main(): First, set the global language to the list's preferredbwarsaw2002-02-112-13/+21
| | | | | | | | language for the email message that's sent out. Then do the translation and UserNotification generation, then reset the language context and send the message. Patch by Ben Gertzfield, modified by Barry.
* SendExplanation(), main(): First, set the global language to thebwarsaw2002-02-111-10/+22
| | | | | | | | list's preferred language for the email message that's sent out. Then do the translation and UserNotification generation, then reset the language context and send the message. Patch by Ben Gertzfield, modified by Barry.
* main(): Several fixes:bwarsaw2002-02-021-5/+15
| | | | | | | | | | | | | | | | - When Errors.EmailAddressError is raised, the translatable string in the print statement was illegal. - If an email address showed up twice in the sync file, a dry-run would have shown that address to be addable, even if it was already a member of the list. - If there were legacy illegal address in the user database (e.g. aperson@@dom.ain), then ApprovedDeleteMember() would fail on it with an MMNoSuchUserError, because parseaddr() in the former method would return some bogus address like "aperson@". In that case, use a lower level routine to delete the bogus record from the member database.
* Restore Ken M's favorite feature <wink>.bwarsaw2002-01-291-24/+51
| | | | | Added a --all / -a flag which says to run the callable against every list in the system. Must be used w/ -r / --run.
* intermediatebwarsaw2002-01-261-0/+103
|
* do_output(): Make the MMListError error message consistent with otherbwarsaw2002-01-261-3/+3
| | | | scripts.
* Add the `inject' script.bwarsaw2002-01-261-2/+2
|
* Added -i / --interactive flag so that you don't need to run thisbwarsaw2002-01-171-18/+39
| | | | | script as "python -i ..." to get a prompt after the primary processing is done. I'd forgotten about the code.InteractiveConsole class!
* acquire_lock_1(): Unset the failing non-force lock's private `owned'bwarsaw2002-01-111-4/+3
| | | | | | | | | flag so that when it's garbage collected, the lock files won't be removed. Since they're the same as the forced lock's files, we'd be removing the files at the wrong time. acquire_lock(): Rearrange the return values so the logic is a little easier to follow. Move the "return lock" into the try stanza.
* main(): Adapted Marc MERLIN's patch which allows you to run rmlist -abwarsaw2002-01-021-22/+35
| | | | | even after a list has been deleted (it simply deletes any residual archives not deleted the first time around).
* Fix copyright yearsbwarsaw2002-01-011-1/+1
|
* checkmail(): Patch by Marc MERLIN to fix buglet resulting from thebwarsaw2002-01-011-1/+1
| | | | rename of the wrapper program.
* main(): Might as well use the pretty printer when we dump out thebwarsaw2001-12-311-2/+2
| | | | pickle too!
* docstring fixbwarsaw2001-12-301-1/+1
|
* main(): Get rid of the mail/wrapper program; it's been renamed tobwarsaw2001-12-241-1/+1
| | | | mail/mailman.
* main(): Ben Gertzfield points out that newlist isn't consistent in itsbwarsaw2001-12-161-9/+34
| | | | | | | | | use of the language for the template and the Subject: header. Make sure both the header and the template is in the list's preferred language. Also, add -l/--language option so that the list's preferred language can be set from the command line.
* main(): Call MTA.create(None, ...) when no lists yet exist (as willbwarsaw2001-12-061-3/+6
| | | | | happen if you follow the README.POSTFIX instructions in a virgin installation).
* In order to make the list alias -> script mapping more consistent,bwarsaw2001-11-301-1/+3
| | | | | | | | | | | | | | | | | | | we've renamed mailcmd to request and mailowner to owner (through some SF-assisted CVS repo magic). We've also moved scripts/auto to contrib/auto since it's an obsolete way of doing the auto-aliasing in Postfix. We need to update mail-wrapper.c for the new list of acceptable script names. Note that there are still two abberations: - messages posted to just `listname' go to the post script - messages posted to listname-admin go to the bounces script The latter, listname-admin may eventually go away. Note that this requires you to regenerate your aliases!
* Add bin/cleanarch to the list of scripts that get build and installed.bwarsaw2001-11-301-1/+1
|
* intermediatebwarsaw2001-11-301-0/+163
|
* Adjustments for the new Postfix module API, which should bebwarsaw2001-11-261-34/+10
| | | | | | | | | | | | translatable to other MTAs that need their aliases twiddled. Don't try to import bsddb3; actually don't import bsddb here either. That's handled in Postfix.py. _zapfile(): Gone. main(): Import the Mailman.MTA module named in mm_cfg.MTA, for generality.
* zapfile(): Zero out a file without messing with the file permissions.bwarsaw2001-11-241-15/+21
| | | | | | main(): Collate lists first by host_name, zap the aliases file, and then each of the virtual files for each domain. Then we can just use Postfix.create() to write the appropriate entries to all the files.
* Added -s/--subproc switch which subtly, but usefully changes its exitbwarsaw2001-11-211-3/+19
| | | | | | | semantics. When run as a subproc, any ImportErrors caused by bogus qrunner names simply get logged, and the script exits with an error code == SIGTERM. This tells mailmanctl not to try to infinitely restart it.
* start_runner(): Pass the -s flag to the qrunner script, which tells itbwarsaw2001-11-211-1/+1
| | | | | to run as a mailmanctl subproc (subtly, but usefully changing it's exit semantics).
* Better support for Berkeley DB link problems (I hope). The problem isbwarsaw2001-11-211-6/+21
| | | | | | | | | | | if Python and Postfix have incompatible versions of BerkeleyDB, genaliases either will fail or will break Postfix. :( Because Robin Dunn's PyBSDDB3 should be compatible with the widest range of existing BDB libs, we try to import and use it first. Failing that, fallback to the standard bsddb module. In either case, we really don't need the dbhash module, which knows nothing about bsddb3.
* fix_url(): Calculate web_page_url from DEFAULT_URL_PATTERN andbwarsaw2001-11-211-1/+1
| | | | DEFAULT_URL_HOST.
* Fix typo in module docstring, reported by Ousmane Wilanebwarsaw2001-11-201-1/+1
|
* main(): Add Mailman/Cookie.py{,c} to the list of old sources needingbwarsaw2001-11-201-1/+1
| | | | to be removed.
* tee_to_stdout=1 in the error handler.bwarsaw2001-11-202-2/+2
|