summaryrefslogtreecommitdiff
path: root/bin/sync_members (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Basic buildout infrastructure.Barry Warsaw2008-12-181-286/+0
| | | | | | Added a NEWS file. Move old bin scripts to the attic.
* FSF office has moved. chdcking in for MAIN branch.tkikuchi2005-08-271-1/+1
|
* main(): Fix some dumb coding bugs.bwarsaw2003-01-031-3/+3
|
* main(): This should fix problems when printing list members withbwarsaw2002-12-021-9/+12
| | | | | | | | "funny" characters in their names. We coerce the output to the default encoding, although I'm not 100% sure this is the right thing to do. (Works for me.) Also, MMNoSuchUserError -> NotAMemberError
* Jon Parise's patch to improve the usage() output for the command linebwarsaw2002-10-211-2/+6
| | | | | | and cron scripts. When code/status == 0, there's no error (it's likely --help output) so send that to stdout. Otherwise, it's an error and the output goes to stderr.
* Typo in docstring, closes SF bug #620406 reported by Dave Habben.bwarsaw2002-10-081-1/+1
|
* Dan Mick caught a typo in the docstring.bwarsaw2002-05-021-1/+1
|
* A patch (embedded in SF bug #411341) to add a -g/--goodbye-msg tobwarsaw2002-04-281-1/+15
| | | | | override the list's default send_goodbye_msg setting. Contributed by Alessio Bragadini.
* main(): Bogus format string specification, caught by Mikhail Sobolev.bwarsaw2002-03-191-1/+1
|
* Update imports for the new rules on shadowing standard librarybwarsaw2002-02-231-1/+3
| | | | | | | | | 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.
* 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.
* main(): Fixed use of obsolete call Utils.ParseAddrs() -- usesbwarsaw2001-10-271-12/+15
| | | | | | | | email.Utils.getaddresses() instead. Found by Fil. Also, converted to UserDesc interface for ApprovedAddMember(), and added support for sucking the Real Name out of the sync file. Also fixed some bugs in the output format strings.
* Ben Gertzfield's patch to hardcode the path to the python executablebwarsaw2001-09-071-2/+2
| | | | | | | | | | | | | into the script's #! line -- based on --with-python settings, without losing CVS revision history. #! /usr/bin/env python becomes #! @PYTHON@ which gets substituted for in configure.
* All membership related attribute access should use the MemberAdaptorbwarsaw2001-07-191-2/+1
| | | | | | | | | API instead, e.g. GetMembers()/GetDigestMembers() -> getMembers() GetUserSubscribedAddress() -> getMemberCPAddress() GetDeliveryMembers() -> getRegularMemberKeys() GetDigestDeliveryMembers() -> getDigestMemberKeys()
* Start of support for i18n; marking of translatable strings.bwarsaw2000-12-071-48/+42
| | | | Use extended print statement and other Python 2.0 features.
* main(): When generating passwords, use the standardbwarsaw2000-09-121-1/+1
| | | | Utils.MakeRandomPassword() instead of handcrafting it here.
* Make sure all scripts lowercase the list names, since they are casebwarsaw2000-09-111-1/+1
| | | | | | | insensitive. list_lists prints them out using their real name -- not their internal name -- and they should differ only by case. Closes SF bug #113742 and patch #101434.
* Some meager consistency in handling errors when trying to open thebwarsaw2000-04-041-13/+14
| | | | | | | | | | | | | | | | | | mailing list. In all cases, catch the base exception class MMListError, and output a semi-standard error message which also contains the str() of the actual exception details (is this too much?). Also: config_list: slightly different usage() printing find_member.scanlists(): print a message if a MMListError occurs when opening the mailing list object remove_members: Wrap actual DeleteMember() calls in a try/finally to be sure the list is saved and unlocked should an exception occur. Hmm, should it be all or nothing?
* Update the copyright lines to include the years 1999 & 2000.bwarsaw2000-03-211-1/+1
|
* Fixed -n/--no-change, i.e. dryrun mode, to conform to documentedbwarsaw1999-11-301-6/+6
| | | | behavior.
* --file/-f option is documented as reading from stdin when the argumentbwarsaw1999-11-291-14/+12
| | | | | is `-'. It was implemented to read addresses from the command line. I changed the implementation to agree with the documentation.
* Fix for PR#7 (fatal error occuring when duplicate addresses are in thebwarsaw1999-05-031-4/+9
| | | | file).
* DeleteMember()'s keyword argument is called `admin_notif'bwarsaw1999-03-261-1/+1
|
* Added -a / --notifyadmin option to override the list's defaultbwarsaw1999-03-251-6/+21
|
* main(): Ignore any line that is empty (all whitespace) or is a commentbwarsaw1999-03-251-0/+8
| | | | (first non-whitespace is a #).
* Finished the implementation. Tested features.bwarsaw1999-03-231-34/+71
|
* Script to synchronize membershipsbwarsaw1999-03-231-0/+193