summaryrefslogtreecommitdiff
path: root/bin/convert_list
Commit message (Collapse)AuthorAgeFilesLines
* consolidated convertlist and populate_new_list into add_members.cotton1998-11-251-206/+0
| | | | | | | | add_members is just like convert_list was, except that 1) the "Send big changes" option defaults to no. 2) the -c and -w options are specified in the short version of the usage. scott
* convert_list now runs Utils.ValidEmail() on all addresses, and printscotton1998-11-231-1/+3
| | | | | | | out a warning if the test fails. this way comments and most accidental stuff that gets into a file to import should not be added. scott
* I should have broken this up into 2 checkins because it implements onecotton1998-11-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix and one addition. Sorry, i realized that too late. This change adds another list conifg variable "admin_notify_mchanges", which is a boolean 0 or 1 and specifies whether or not the list admin gets notifications of subscriptions and unsubscriptions. The functions MailList.DeleteMember and MailList.ApprovedAddMember trigger the delivery if it is turned on for the list or passed in as an optional argument. This way, it is the duty of programs/code that do mass subscriptions/unsubscriptions where this notification may not be appropriate to specify that in the call to .DeleteMember or .ApprovedAddMember. There are 2 new templates, adminsubscribeack.txt and adminunsubscribeack.txt which are used in sending these notifications. Defaults.py.in has a variable "DEFAULT_ADMIN_NOTIFY_MCHANGES" which is set to 0 so that old lists will act the same by default, and the data version is up'ed to 12. versions.py sets the variable if it's not already there for a list. The config info for the admin cgi program for this new variable is set right after the variable for immediate notifications. The second change is a fix where ApprovedAddMember was calling a "self.Save()", which made mass subscribe situiations really far too slow. I removed the .Save() from there and added it to the more outer level code in the following places: bin/convert_list Mailman/ListAdmin.py Mailman/MailCommandHandler.py Mailman/Cgi/admin.py Note that since AddMember can trigger a call to ApprovedAddMember, all the places where AddMember is called needed a .Save() added as well. I need to add a call to .Save() for Mailman/Cgi/subscribe.py as well and will do that in a moment. scott
* Minor rewriting of the docstring to make it more Emacs friendly.bwarsaw1998-11-161-4/+4
|
* added options to not send the "big changes to your list" text to all thecotton1998-10-111-13/+38
| | | | | | list members (-c and --changes-msg), and to override the list setting for send_welcome_msg (-w and --welcome-msg). scott
* the AddMember function wasn't responding to the list'scotton1998-10-101-5/+9
| | | | send_welcome_msg setting.
* Changed the command line interface to be a little closer to the GNUbwarsaw1998-08-141-44/+106
| | | | | | | | | | | | | | | | | | standard, e.g. requiring options and long options instead of positional arguments (only required args are positional). Added a --help option too. GetRandomPassword(): Fixed typo: it's Mailman.Utils.GetRandomSeed() SendExplanation(): pass mailing list in as an argument AddMember(): New function. main(): Use getopt module to scan options. Exchange bare excepts for more qualified excepts. Change the way addresses are sucked in from the files. Once the mailing list is instantiated, wrap an unlock in a try/finally so that any uncaught exceptions don't leave the list locked.
* Use the new packagized modulesbwarsaw1998-06-191-49/+44
|
* Add Unlock() calls where appropriate, and add lock = 0 to MailListviega1998-06-131-1/+1
| | | | constructor actuals when the list doesn't need to be locked.
* Updated calls to GetScriptURL to the appropriate new form. One or twoviega1998-06-031-1/+1
| | | | | minor changes here and there to support relative paths (changing absolute paths that didn't use GetScriptURL to begin with).
* Two typical modifications, you'll see in many upcoming checkins:bwarsaw1998-05-261-4/+3
| | | | | | | | | | 1. Use the standard Python invocation #! line to get the interpreter from $PATH 2. Do no direct sys.path munging in this file. Import the `paths' module, which is created during the configure process, and which performs all necessary path munging (and exports some useful variables too).
* Whoops, forgot to add the copyright info to code in the bin subdir...viega1998-05-261-0/+15
|
* Just wrapped some long lines.mailman1998-02-241-3/+6
|
* Initial revisionmailman1998-02-231-0/+100