summaryrefslogtreecommitdiff
path: root/Mailman
Commit message (Collapse)AuthorAgeFilesLines
...
* Interim i18n change.bwarsaw2001-02-281-9/+11
| | | | | | | Fix the Utils.maketext() calls to pass the language in as a keyword argument. Fix some _() wrappings to use local variables.
* Untabification.bwarsaw2001-02-281-17/+17
|
* QRUNNERS: BounceRunner -> CommandRunnerbwarsaw2001-02-281-5/+5
| | | | BOUNCEQUEUE_DIR -> CMDQUEUE_DIR
* Next round of big i18n patches.bwarsaw2001-02-281-68/+78
| | | | | | | | | | | | | | Untabification. GetConfigInfo(): Reformat many of the strings to be triple-quoted instead of adjacent string concat. Fix the Utils.maketext() calls to pass the language in as a keyword argument. Fix some _() wrappings to use local variables. [Note this file may still have problems -- e.g. Utils.GetCharSet()]
* SnarfHTMLTemplate(): Don't try to fall back to lists/<listname>/ tobwarsaw2001-02-231-11/+4
| | | | | | find the template if lists/<listname>/<lang> doesn't exist. The update script now creates the `en' language subdir and moves all the templates into it.
* FormatListinfoOverview(): Substitution of host_name local variable forbwarsaw2001-02-161-9/+8
| | | | | | hostname (for consistency with _() translations) - thanks Ron Jarrell. De-string-module-ify while I was at it.
* _dispose(): A bit of elaboration so that we can properlybwarsaw2001-02-161-7/+40
| | | | | | | | | | | | | RegisterBounce on known permanent failures. These are handed to us via the exception object when SomeRecipientsFailed is raised. Append any permanent failures to an instance variable to be handled in the _doperiodic() method. Temporary failures are still handled the same way, except we only requeue the message if we've actually got temp failures to retry. _doperiodic(): Periodically, we attempt to acquire the list lock and register all permanent failures we've got pending for that list.
* process(): We can't call mlist.RegisterBounce() here because we do notbwarsaw2001-02-161-8/+7
| | | | | | | have the list lock. Instead, just append permanently failing recipients to another list. Raise SomeRecipientsFailed if there were either temp or perm failures, and return both lists in the exception instance.
* MakeDirTree(): Remove (obsoleted by os.makedirs()).bwarsaw2001-02-161-21/+7
| | | | | | maketext(): If the language specific template file doesn't exist, fall back to using $MM/templates. This helps with bootstrapping but may not be the correct long term solution.
* Create(): We don't need to touch the digest files since we're doingbwarsaw2001-02-161-11/+0
| | | | that differently now.
* Create(): os.makedirs() is better than Utils.MakeDirTree().bwarsaw2001-02-161-1/+5
|
* InitTemplates(): Simply by using some Python 2.0-isms and the shutilbwarsaw2001-02-161-18/+22
| | | | | module. Also, default to getting the source templates out of $MM/templates if $MM/templates/<lang> doesn't exist.
* Do not store `_' in the built-in namespace. First of all, we wantbwarsaw2001-02-161-7/+3
| | | | | | Mailman.i18n._ to be the default translator so installing gettext.gettext just causes weird errors to occur if the module doesn't import it's own copy. Second, it's way too magical.
* SomeRecipientsFailed constructor takes two lists of failed recipients,bwarsaw2001-02-161-0/+4
| | | | | the temporaries and the permanents. Store these in instance variables.
* CheckSiteAdminPassword(): Typo that should have chopped off all butbwarsaw2001-02-161-1/+1
| | | | | the trailing newline actually left nothing but the trailing newline! Caught by Ron Jarrell.
* De-string-module-ify.bwarsaw2001-02-151-49/+33
| | | | | | | | Drop the use of the crypt stuff in favor of sha. Some i18n updates. A few other Python 2.0 features used where appropriate.
* This module still needs lots of cleaning up but for now...bwarsaw2001-02-151-150/+91
| | | | | | | | | | | | | | | | | | | | | | | | De-string-module-ification. Move SafeDict out of this file. Remove the Crypt stuff, using sha instead. SetSiteAdminPassword(), CheckSiteAdminPassword(): Use sha to write the new admin password. Check...() doesn't attempt to compare the challenge against the crypt'd password if the sha comparison fails because the site admin password is much easier to change than all the list passwords. IsAdministrivia() -> is_administrivia(), and mimelib-ify open_ex(): Removed reap(): Additional optional argument `once' which says to just go through the waitpid main loop once. hexlify/unhexlify crud removed (Python 2.0's got them in its binascii module). GetDirectories(), GetLanguageDescr(), GetCharSet(): Added for i18n support.
* typobwarsaw2001-02-151-1/+1
|
* GLOBAL_PIPELINE: Default pipeline for moving messages out ofbwarsaw2001-02-151-34/+83
| | | | | | | | | | | | | | | | | | | | | | | qfiles/in. Lists and messages can actually override this. QRUNNERS: List and number of qrunners to start for each qfiles directory. QRUNNER_SLEEP_TIME: length of time in seconds that a queue runner should sleep if it finds no files in its qfiles/* directory. QRUNNER_LOCK_LIFETIME, QRUNNER_PROCESS_LIFETIME, QRUNNER_MAX_MESSAGES, DEFAULT_FILTER_PROG, USE_CRYPT: deleted. METAFMT_{MARSHAL,BSDDB_NATIVE,ASCII}, METADATA_FORMAT: Used for selecting which .db format to use for message metadata. ARCHQUEUE_DIR, SHUNTQUEUE_DIR, VIRGINQUEUE_DIR: new qfiles subdirectories. Temporary (hopefully) hack to get Python's site-packages directory in the standard path. This will go away when mimelib is distributed with Mailman.
* De-string-module-ify.bwarsaw2001-02-151-161/+144
| | | | | | | | | | | | | | | | | | | References to HandlerAPI module removed. Also, remove filter_prog attribute from the list object. GetConfigInfo(): Add lots of i18n markup for translatable strings. All the attribute descriptions and details are now marked. AddMember(), ApprovedAddMember(), DeleteMember(): Use new Message interface for sending internally crafted messages. ApprovedAddMember(): Move the lang argument to the end for better backwards compatibility. HasExplicitDest(): Use new mimelib/Message interface. HasMatchingHeader() -> hasMatchingHeader(), and simplify greatly.
* ZapOldVars(): We no longer support the filter_prog argument on thebwarsaw2001-02-151-11/+14
| | | | | | | | MailList object. I don't think this was ever used and there are better ways to do this now. Make sure this gets into the NEWS file. NewVars(): Simplify interface by using a local=global trick (this won't be necessary in Python 2.1!)
* Get SafeDict from SafeDict not Utils.bwarsaw2001-02-151-2/+2
|
* fix copyright linebwarsaw2001-02-151-1/+1
|
* Bump the DATA_FILE_VERSION to handle the new i18n list attributes.bwarsaw2001-02-151-2/+2
| | | | Bump the QFILE_SCHEMA_VERSION to handle the new file formats.
* De-string-module-ify, transform to using mimelib instead of rfc822,bwarsaw2001-02-151-157/+51
| | | | | | | | | | | | | | | | | | | and use the switchboard interface. Specifically, Message class now multiply derives from mimelib.Message.Message and mimelib.ReprMixin.ReprMixin (for __str__() and get_text()). Other method changes: GetSender() -> get_sender() __init__(), __repr__(), __str__(), Enqueue(), Requeue(): removed OutgoingMessage class removed UserNotification class now inherits from Message and adds: send(): A convenience method for taking an internally crafted message and queuing it to the qfiles/virgin queue.
* De-string-module-ify.bwarsaw2001-02-151-30/+30
| | | | | | | | | | References to HandlerAPI module removed. Use new mimelib and switchboard interfaces. Use other Python 2.0 features as appropriate. NOTE: This whole module really needs a good rewrite.
* Some additional i18n markup, although I can't remember if this is Juanbwarsaw2001-02-151-25/+40
| | | | | | | | | | | | | | | | | | Carlos's contribution or not. Specifically, GetMailmanFooter(), FormatSubscriptionMsg(), FormatEditingOption(): Mark some strings as translatable, using the Mailman.i18n._ `auto-interpolating' function. SnarfHTMLTemplate(): Catch IOErrors which could result if a list was created in an older version of Mailman before the i18n support was added. GetStandardReplacements(): Watch out for missing list preferred language (can happen to an older list which hasn't been updated). Use DEFAULT_SERVER_LANGUAGE in that case. InitTemplates(): Some additional code reorg.
* We don't need to override the __init__() of the base class any morebwarsaw2001-02-151-7/+0
| | | | since we're requiring Python 2.0. Good catch Thomas!
* Derive Mailbox from PortableUnixMailbox (from the Python 2.1 mailboxbwarsaw2001-02-151-25/+8
| | | | | | | | | module included in Mailman/pythonlib). We use this one because it has the most portable definition of the Unix-From separator. De-string-module-ify. Use new mimelib interface.
* De-string-module-ify.bwarsaw2001-02-151-29/+38
| | | | | | | | References to HandlerAPI module removed. Use new mimelib and switchboard interfaces. Use other Python 2.0 features as appropriate.
* HandlerError, MessageHeld, DiscardMessage, SomeRecipientsFailed,bwarsaw2001-02-151-1/+31
| | | | LoopError: all error classes are now moved here.
* SendSubscribeAck(): I18n the welcome messages.bwarsaw2001-02-151-10/+8
| | | | | | | | De-string-module-ify. References to HandlerAPI module removed. Use new mimelib interface.
* De-string-module-ify.bwarsaw2001-02-151-12/+12
| | | | | | References to HandlerAPI module removed. Use new mimelib interface.
* close(), _open_index_file_as_stdout(), write_article():bwarsaw2001-02-151-8/+17
| | | | Utils.open_ex() is obsolete.
* load(), close(): Utils.open_ex() is obsolete.bwarsaw2001-02-151-3/+7
|
* processListArch(), write_TOC(), write_article(), update_archive(),bwarsaw2001-02-151-10/+30
| | | | update_article(): Utils.open_ex() is obsolete.
* __archive_file(): Utils.open_ex() is obsolete.bwarsaw2001-02-151-14/+11
| | | | | | ArchiveMail(): Interface change. This method no longer gets the message metadata dictionary (it wasn't used anyway). Also, convert to the mimelib interface.
* Use the Python 2.1 version of these modules. nntplib.py has the fixedbwarsaw2001-02-151-0/+312
| | | | readermode stuff, and mailbox.py has the factory argument.
* intermediatebwarsaw2001-02-151-24/+122
|
* intermediatebwarsaw2001-02-151-1/+1
|
* intermediatebwarsaw2001-02-151-1/+1
|
* intermediatebwarsaw2001-02-151-0/+1
|
* __init__(): Accept information for hash space slicing (slice numberbwarsaw2001-02-151-87/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and total number of slices). Create the runner-specific switchboard, the shunt switchboard (for messages that generate uncaught exceptions), and the mainloop stop flag. We also have no need for a runner-specific lock since the qrunner watchdog infrastructure handles all that for us now. _dequeue(): This is no longer part of the Runner interface (it's been moved to the Switchboard). run(), __oneloop(), __onefile(): Rework the mainloop for flexibility and robustness. run() is the main loop and handles KeyboardInterrupt exceptons, guaranteed cleanup at mainloop exit, checking the stop flag and calling _doperiod() after each cycle through the mainloop, and sleeping for a while if there are no files in the queue directory. __oneloop() handles cruising through the list of all the files in the queue (modulo any hash space slicing) exactly once. __onefile(): handles the work for one queue file. _snooze(): sleeps for a specified amount of time. _log(): A convenient logging facility for subclasses _start(), _onefile(): deleted.
* intermediatebwarsaw2001-02-151-33/+53
|
* intermediatebwarsaw2001-02-151-91/+72
|
* This crypt wrapper module is no longer necessary. sha is the defaultbwarsaw2001-02-151-32/+0
| | | | hash function used everywhere in Mailman now.
* ValidAdminPassword(): First, use SHA1 as the default hash, and comparebwarsaw2001-02-151-18/+25
| | | | | | | | | | | the response against the SHA encrypted password. If that fails, and the crypt module can be imported, try that as a fallback, but if that succeeds, update the password to be the SHA1 version. MakeCookie(), CheckCookie(): Use Python 2.0's binascii.{un,}hexlify() functions instead of the slower (and obsolete) ones in Utils.py. ExtractApproval(): Removed.
* intermediatebwarsaw2001-02-151-0/+43
|
* intermediatebwarsaw2001-02-151-0/+27
|
* intermediatebwarsaw2001-02-151-0/+47
|