| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
when the member has no real name associated with their subscription.
|
| |
|
|
| |
specified. Patch supplied by Tokio Kikuchi.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Heinlein's recent problems. This patch adds several things to better
update pickled Message objects to the latest email package.
Specifically,
__init__(): Add a version number to Message objects so that we can
make __setstate__() more efficient (I don't want to do the next bit of
hackery for every single unpickled Message object).
__setstate__(): For Message objects older than the current email
package version, we'll ensure that the data format is the same. We
keep the previous updates and add one that trolls through the message
headers, ensuring that if any of the headers are Header instances,
that their chunks all have 2nd items as Charset instances, not
strings. This is an invariant for email 2.4.3, but older Message
instances might not conform.
|
| |
|
|
| |
case the message has an empty body.
|
| | |
|
| |
|
|
| |
argument.
|
| |
|
|
|
| |
HyperArch.Article instead -- which takes two extra constructor
arguments.
|
| | |
|
| |
|
|
|
|
|
|
| |
article class as an argument. Instead call out to an override-able
method _makeArticle() to return the article instance. This will be
overridden in HyperArch.py.
Bump __version__ while we're at it.
|
| | |
|
| |
|
|
|
|
|
| |
apparently not. If the first non-whitespace line of the first
text/plain subpart has an Approved or Approve header, it's checked for
the admin password, but /only/ if there's no real Approved or Approve
header in the message (don't use both!).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sizeof(): Grows a lang argument.
Class Article:
- grows attributes _lang, _mlist
- default self.charset to the server language's charset
- constructor grows a lang and and mlist argument
- new __setstate__() method for backcompat with older (pickled) archives
- as_html(): use i18n.ctime()
- in many places, use standard language templates. All inlined tqs
templates in this file have been removed.
- volNameToDesc(): new
Code cleanup.
Whitespace normalization.
|
| | |
|
| |
|
|
| |
just confuses people and the traceback is enough information.
|
| |
|
|
|
|
|
|
| |
include:
ctime(): An i18n'd ctime for the archiver.
Whitespace normalization.
|
| |
|
|
|
| |
should go only to the list owners. I don't think the list moderators
need to be bothered.
|
| |
|
|
| |
method on the MailList instance.
|
| |
|
|
|
|
|
|
|
|
|
| |
message. This is especially the case when debugging your filtering
rules. To support this we now have a "filter action" which can be
Discard, Reject, Forward to Admin, Preserve on disk.
process(): Call dispose() when we want to chuck the message.
dispose(): New function which disposes of a matching message based on
filter_action.
|
| |
|
|
| |
few of the other descriptions.
|
| |
|
|
|
|
|
|
| |
message. This is especially the case when debugging your filtering
rules. To support this we now have a "filter action" which can be
Discard, Reject, Forward to Admin, Preserve on disk.
NewVars(): Add 'filter_action' if missing.
|
| |
|
|
|
|
|
|
| |
message. This is especially the case when debugging your filtering
rules. To support this we now have a "filter action" which can be
Discard, Reject, Forward to Admin, Preserve on disk.
Bump DATA_FILE_VERSION to pick up the new filter_action attribute.
|
| |
|
|
|
|
|
|
| |
message. This is especially the case when debugging your filtering
rules. To support this we now have a "filter action" which can be
Discard, Reject, Forward to Admin, Preserve on disk.
InitVars(): Set the default filter action.
|
| |
|
|
| |
messages into a single method.
|
| |
|
|
|
|
|
|
|
| |
message. This is especially the case when debugging your filtering
rules. To support this we now have a "filter action" which can be
Discard, Reject, Forward to Admin, Preserve on disk.
Here, set the default action to discard. Also set the flag that
allows owners to preserve filtered messages on disk to true.
|
| |
|
|
|
| |
had their Reply-To header pointing at the posting address, and that
there was no good reason not to continue this tradition <wink>.
|
| |
|
|
|
| |
pass_mime_types entries. They have to look more like a content
maintype or maintype/subtype.
|
| |
|
|
| |
to multipart/alternative (we meant ctype).
|
| |
|
|
| |
proposed list name is invalid.
|
| |
|
|
| |
exception.
|
| |
|
|
|
|
|
| |
posting address. If not, reject the proposed new list. We use
DEFAULT_EMAIL_HOST because at this point we don't know what the
host_name of the list is (and in fact the attribute isn't set), but it
doesn't matter anyway.
|
| | |
|
| |
|
|
|
| |
realname either to a byte string if it contains just ascii characters,
or to a unicode.
|
| |
|
|
| |
language into the canonstr() call to properly display the fullname.
|
| |
|
|
|
|
|
|
|
| |
message did not bounce match, or if no member addresses could be
extracted from it.
maybe_forward(): MIME Forward the given message to the list owner +
list moderator, if bounce_unrecognized_goes_to_list_owner is true.
Otherwise it discards the message. Write a log entry in either case.
|
| |
|
|
|
|
|
|
| |
problem reported a few weeks ago. We do here largely what we do in
CookHeaders.py for encoding non-ascii Subject prefixes. First, we
convert the string to Unicode (possibly throwing out characters if
necessary), then we use the Header class to properly RFC 2047 encode
the name.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
needs to be "safe" for the given charset, which will be the charset
for the list's language, and the charset the page will be rendered
in.
If it's a Unicode and can be encoded in the desired charset, fine,
just return the encoded byte string. If it's already a byte string
encoded in the charset, again that's fine, just return the string.
Otherwise, html-ify the string and return it as a byte string.
|
| |
|
|
|
| |
that the member's name gets encoded safely for the list's language's
charset, which is the charset the page is going to be rendered in.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
encode_p(): Removed.
_isunicode(): Helper for unicode type testing.
prefix_subject(): Better algorithm for handling unicode subject
prefixes. Now we always set the Subject header to a Header instance
if we're adding the prefix. Always convert the prefix and all
previous Subject header bits to unicode (possibly with character
replacements) so that the Header class does the right thing, i.e. does
the us-ascii, charset hint, utf-8 encoding. Because of this, if the
list's charset is us-ascii, we'll substitute iso-8859-1 for a slightly
wider character coverage.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
CookHeaders.py will now be aware that subject_prefix can be a unicode
string.
_setValue(): Capture changes to subject_prefix and canonstr() it,
meaning convert html references to unicode characters.
getValue(): Capture access of subject_prefix and uncanonstr() it,
meaning convert any non-list-charset characters to their html refs for
error free display.
|
| |
|
|
|
|
|
|
|
|
| |
text is calculated. Because msg['subject'] could be a Header
instance, we need to str-ify it before appending it to the body
lines.
uncanonstr(): Coerce the return value to a byte string when html ref
substitution is done. Note that this code probably needs to be
converted to a type test of s (unicode vs. str).
|
| |
|
|
|
|
| |
we have to convert strings to or from unicode. Given by Tokio
Kikuchi, modified slightly by Barry (if it's still broken, it's my
mistake).
|
| |
|
|
| |
realname string.
|
| |
|
|
|
|
|
|
|
|
| |
better Japanese support. If we're converting to &#XYZ; form, use
chr() if the integer is < 256 otherwise use unichr(). If the
resulting joined string is already a Unicode, don't convert it.
uncanonstr(): Use u'' instead of '' as the string when s is None. The
Japanese codecs require a Unicode string as its argument, not an 8-bit
string.
|
| |
|
|
|
| |
we'll also strip their addresses from CC headers in the list copy.
This helps keep the CC lines from growing astronomically.
|
| |
|
|
|
|
|
|
|
|
| |
for the log file (defaults to iso-8859-1, which works for xterms and
xemacs buffers, although we may have to change this to us-ascii for
release). We try to open the log file using the codecs module so
output will be encoded by the proper stream writer.
I'm not 100% sure about these changes, but they seem right and work
for me.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
outgoing message, we must be sure to properly MIME encode the header,
otherwise if the name has non-ascii characters in it, we'll be sending
illegally formatted messages. So if the name has non-ascii characters
in it, we'll encode it using the character set of the language of the
outgoing message. Kludge: if the charset is us-ascii, we'll use
iso-8859-1 for a slightly wider utility (more non-ascii names can be
used in English lists).
Closes SF bug # 601082 by Tokio Kikuchi.
|
| |
|
|
|
| |
form, we need to convert it to a unicode string using the charset of
the language of the page.
|
| |
|
|
|
|
|
|
| |
need to convert it to a unicode string using the charset of the
language of the page.
options_page(): When printing the member's full name, be sure to
encode it to the charset of the language of the page.
|
| |
|
|
|
|
| |
showing the unsub'ing (or changing, or re-enabling) member's name, use
the version converted to the charset of the web page (or with &#XYZ;
conversion).
|
| |
|
|
|
| |
the version converted to the charset of the web page (or with &#XYZ;
conversion).
|