summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* New tests for the content filtering MimeDel handler module.bwarsaw2002-04-141-7/+179
|
* The handler module which actually performs the content filtering.bwarsaw2002-04-140-0/+0
|
* intermediatebwarsaw2002-04-141-0/+155
|
* Port of Les Niles' patch to do de-mime. Specifically,bwarsaw2002-04-141-0/+1
| | | | Add the ContentFilter gui component.
* The gui component which is used to select the content filteringbwarsaw2002-04-140-0/+0
| | | | options.
* intermediatebwarsaw2002-04-141-0/+85
|
* Port of Les Niles' patch to do de-mime. Specifically,bwarsaw2002-04-141-0/+4
| | | | | NewVars(): Add attributes filter_mime_types, filter_content, and convert_html_to_plaintext if they are missing.
* Port of Les Niles' patch to do de-mime. Specifically,bwarsaw2002-04-141-1/+1
| | | | | DATA_FILE_VERSION: Bump to pick up the new content filtering attributes.
* Port of Les Niles' patch to do de-mime. Specifically,bwarsaw2002-04-141-0/+4
| | | | | InitVars(): Add attributes filter_mime_types, filter_content, and convert_html_to_plaintext.
* Port of Les Niles' patch to do de-mime. Specifically,bwarsaw2002-04-141-3/+25
| | | | | | | | | | | | | | | | | | | | | | HTML_TO_PLAIN_TEXT_COMMAND: A command invoked through os.popen() which can convert from html to plain text. The default is to use lynx -dump. GLOBAL_PIPELINE: Add the MimeDel handler. ADMIN_CATEGORIES: Add the contentfilter category just before the topics category. DEFAULT_FILTER_CONTENT: A flag which sets the system-wide default for whether lists will filter MIME content or not. Defaults to 0 (until this is tried-and-true). DEFAULT_FILTER_MIME_TYPES: A list of strings of format maintype/subtype or maintype which are the MIME types to filter. By default, it's empty. DEFAULT_CONVERT_HTML_TO_PLAINTEXT: A flag which specifies whether, after normal content filtering is done, text/html parts should be converted to text/plain.
* Typo found by Jon Parise.bwarsaw2002-04-122-2/+2
|
* main(): When calling addrchange_prompt(), catch NotAMemberErrors thatbwarsaw2002-04-111-1/+9
| | | | | may occur if the address requesting a change has been removed before the change was confirmed. This closes SF bug #445961.
* Added a test of the SINAEMAIL bouncerbwarsaw2002-04-111-0/+2
|
* Weird bounce format from something called SINAEMAIL (sina.com)bwarsaw2002-04-111-0/+128
|
* intermediatebwarsaw2002-04-111-0/+47
|
* Liberalize some of these tests so international Yahoo! accounts arebwarsaw2002-04-111-2/+4
| | | | still caught. Inspired by SF patch # 538983 by David Abrahams.
* Added a bunch of new Yahoo test cases.bwarsaw2002-04-111-1/+23
|
* A bunch of new Yahoo bounce examples, courtesy of David Abrahams.bwarsaw2002-04-118-0/+909
| | | | SF patch # 538983
* Removed some debugging syslog() calls -- thanks Ron!bwarsaw2002-04-111-2/+0
|
* install-packages: Add a PYTHONPATH envar setting for the distutilsbwarsaw2002-04-111-1/+1
| | | | | setup.py command. This will avoid the confusing, but ignorable warnings that distutils insists on emitting even with the -q option.
* Ron Jarrell noted that the tagger logic was broken when messages startbwarsaw2002-04-111-6/+62
| | | | | | | | | | | | | | | with indented text. Fixes, process(): Fix short-circuit test for mlist.topics_enabled instead of mlist.topics. scanbody(): We don't need to do much more than filter out the blank lines when creating a mini-message to look for Subject: and Keywords: fields in the body. We /do/ need to create a subclassed _ForgivingParser which simply stops processing instead of throwing exceptions when it hits a line that's neither a header nor a continuation. WIBNI if we didn't have to cut-n-paste the bulk fo the _parseheaders() method?
* do_topic_filters(): Rearrange if clauses for clarity.bwarsaw2002-04-111-18/+17
|
* GetStandardReplacements(): If there's just one choice of language,bwarsaw2002-04-111-1/+1
| | | | return the lang description as a non-selectable string.
* main(): Chuq noticed that error messages were going to stdout, notbwarsaw2002-04-111-2/+2
| | | | stderr.
* _dispose(): There are reports of None's showing up in the addrs. Notbwarsaw2002-04-111-0/+4
| | | | sure why that is, but let's filter them out anyway.
* _postValidate(): New method which is called after all the formbwarsaw2002-04-111-8/+12
| | | | | | | | | | | attributes have been processed. This allows for the gui component to do sanity checks across inter-dependent values. Default is no-op. handleForm(): We don't need the `tag' arguments to addError() since the default is 'Error: '. Also, rearrange the exception logic so that the _setValue() call happens in an else and the except clauses don't need to return. This allows the gui component to still get a chance at _postValidate(), even if there were errors.
* _postValidate(): New method which checks that the combination ofbwarsaw2002-04-111-2/+11
| | | | | | | reply_to_address and reply_goes_to_list is valid, resetting and spitting out an error if not. _setValue(): Don't use <p> tags in the error message.
* CheckValues(): It's possible that some how the following bogusbwarsaw2002-04-111-0/+11
| | | | | | | | situation got set: there's an empty (after stripping) reply_to_address, and reply_goes_to_list is set to "explicit address". This isn't a legal combination (but could have gotten this way through legacy settings or bad bin/withlist manners), so reset both values.
* process(): When doing the the TooManyRecipients test, use >= as thebwarsaw2002-04-111-1/+1
| | | | | | | comparison. The online help says: If a posting has this number, or more, of recipients, it is held for admin approval. Use 0 for no ceiling.
* process(): In the multipart/mixed stanza, don't provide a charset namebwarsaw2002-04-111-1/+1
| | | | | in the set_payload() call. multipart/*'s never need a charset parameter.
* process(): We need to clean up the base archive url in two ways:bwarsaw2002-04-111-1/+4
| | | | | first, remove any trailing slash, second surround the url in angle brackets.
* Let's use email version 2.0.1.bwarsaw2002-04-113-1/+1
|
* Updates to what there is of the unit test suite. Lots of tests don'tbwarsaw2002-04-112-224/+31
| | | | | make sense any more, many needed changing, etc. I really should run these more often (and add to them!)
* verpdeliver(): dump_address_pair() -> formataddr().bwarsaw2002-04-111-1/+1
|
* ApprovedAddMember(): dump_address_pair() -> formataddr().bwarsaw2002-04-111-2/+2
|
* hold_for_approval(): Mentor Cana notices that we need to use attach()bwarsaw2002-04-111-3/+3
| | | | for the deprecated add_payload().
* process(): As Mentor Cana points out, dump_address_pair() isbwarsaw2002-04-111-1/+1
| | | | deprecated in favor of formataddr().
* Fixed a missing `%' thanks to Fil.wilane2002-04-101-1/+1
|
* Minor update.bwarsaw2002-04-101-0/+0
|
* send_i18n_digests(): Get rid of the add_payload() calls; these arebwarsaw2002-04-101-7/+7
| | | | | | deprecated in email 2.0. For calls on the mimemsg, change them into attach() calls. For calls on the rfc1153msg, change them into set_payload() calls.
* process(): Port to the email package. Message objects no longer havebwarsaw2002-04-101-2/+3
| | | | | | | | | | | | a `body' attribute, but we're already getting the flat string of the message, so we just need to record it's length (since this is all that we log. These changes are untested, although they should be correct. Sendmail.py is highly discouraged anyway, so I don't intend to do any testing of it. Closes SF bug #511020
* _dispose(): Catch socket.errors that can come from the underlyingbwarsaw2002-04-101-0/+19
| | | | | | | | | delivery module (i.e. SMTPDirect) when it couldn't connect to the smtp server. When this happens, log an error message, but only do it once so we don't fill up logs/error with a message-per-second. We keep a self.__logged flag which is set when we log the error and reset in the class constructor, and when the process() function returned successfully.
* An adaptation of Marc MERLIN's fixes to actually honorbwarsaw2002-04-101-3/+6
| | | | | | | | | | | | | | | | | | SMTP_MAX_SESSIONS_PER_CONNECTION. Specifically, sendmail(): We can't return directly from the try-clause because then the decrement of __numsessions won't be executed. Instead, stash the results in a local variable, twiddle numsessions, and then return the results. process(): When doing bulkdeliver, be sure to only decorate the message once. This prevents multiple headers and footers if the message is requeued because of some temporary delivery problem. Note: we don't need to do this for verpdeliver because each message is crafted uniquely anyway. Also, get rid of an unused local variable.
* Add some Japanese encoding aliases as recommended by Martin vonbwarsaw2002-04-101-0/+15
| | | | | | Loewis. This is necessary because the Japanese codecs are provided by third parties, and don't integrate themselves correctly in earlier Pythons.
* CanonicalizeUserOptions(): If the key isn't a member (as we'rebwarsaw2002-04-091-0/+1
| | | | | | trolling through user_options), we must continue after deleting the entry in user_options, otherwise the subsequent getMemberOption() call will fail.
* CheckVersion(): We have to force a reload of the database even if ourbwarsaw2002-04-091-1/+3
| | | | timestamp implies we're up-to-date. Otherwise our state gets zapped!
* make_qrunner(): We really need to log more information about thebwarsaw2002-04-081-0/+1
| | | | | import error. This probably would have helped Brett Delmage debug his problem easier.
* process(), prefix_subject(): Ben Gertzfield's patch (refactored bybwarsaw2002-04-081-13/+44
| | | | | Barry) which correctly checks for the prefix in encoded Subject: headers.
* Bump the email package to 2.0bwarsaw2002-04-083-1/+1
|
* The Korean codecs package.bwarsaw2002-04-081-0/+0
|