| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Ignore mailman.egg-info
In bin/make_instance.py: Catch and ignore import errors when importing
Mailman.i18n. Before this script has actually been run, there won't be enough
infrastructure in place of the import to succeed. Include several other fixes
in this file.
Add install_requires to the setup script.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and some of the admindb.py links. There may still be breakage in other parts
of the interface and I haven't gone back to verify that traditional CGI still
works.
Changes:
- Add wsgiref-0.1.2-py2.4.egg so that we can still do WSGI in Python 2.4,
which doesn't come with wsgiref. Of course this means we /also/ have to add
setuptools-0.5c3 because eggs require setuptools.
- Style cleanups in HTTPRunner.py and wsgi_app.py. Also, use cStringIO
instead of StringIO.
- All internal links within the listinfo and admin pages are (or at least
should be ;) relative now. This should make other things better, such as
running Mailman over https or alternative ports. It does kind of mean that
web_page_url is obsolete, but I haven't looked at whether we can completely
eradicate it.
- ValidateEmail(): Use ' ' in s instead of s.count(' ') > 0.
- GetPathPieces(): When path is false, return the empty list instead of None,
so we can still len() it.
- ScriptURL(): Much simpler. To support relative urls as the default, we
change the API so that it only takes a 'target' argument (i.e. the script we
want to link to). It no longer takes 'absolute' or 'web_page_url', and it
constructs its link from GetPathPieces(), the target, and the cgi extension.
- GetRequestURI(): code style updates.
- Mailman/bin/show_config.py: De-DOS-line-ending-ification.
- export.py: A few modifications, although this is likely still not final (I'm
still working on the import script). First, for <option> elements, don't
put the value in an attribute, put it in the text body of the element.
Second, put the list <option> tags in a <configuration> element. Third, put
the preferred language on an <option> tag with a 'preferred_language'
name attribute value.
- SecurityManager: Make sure that MakeCookie() and ZapCookie() use the same
'path' cookie value by refactoring that into a separate method. That method
now returns just the SCRIPT_NAME and the full listname. web_page_url
doesn't enter into it.
- loginit.py: Add a 'debug' logger since it's just too useful to have :)
- admin.py: Remove the extra / right before the query string in ?VARHELP
urls. That extra / turns out to be problematic with the relative url scheme
we're using now.
- Auth.py: whitespace normalization and copyright years update. Also, remove
a couple of unnecessary imports. Also, make sure that the actionurl is
relative.
- create.py: Typo.
- private.py: mm_cfg -> config object
- In MailList.py: GetScriptURL() can be written in terms of Utils.ScriptURL()
now.
|
| |
|
|
|
|
|
|
|
|
|
| |
- Remove True/False binding cruft
- Remove __future__ statements for nested scopes
- Remove ascii_letters import hack from Utils.py
- Remove mimetypes.guess_all_extensions import hack from Scrubber.py
- In Pending.py, set _missing to object() (better than using [])
Also, update copyright years where appropriate, and re-order imports more to
my PEP 8 tastes. Whitespace normalize.
|
| |
|
|
|
|
|
| |
email addresses
and regular expressions matching email addresses whose subscriptions are exempt
from admin approval. RFE 403066.
|
| | |
|
| |
|
|
| |
Update the filter only if there is hdrfilter_* input.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
they have subcategories.
Backport candidate.
|
| |
|
|
|
| |
description. This will require catalog updates. Patch #605146 by Jon
Parise.
|
| |
|
|
|
|
|
| |
anonymous_list option is moved to General->General list personality.
Also, in the Privacy section, a new "Recipient filter" subcategory is
added, into which is moved require_explicit_destination,
acceptable_aliases, and max_num_recipients.
|
| | |
|
| |
|
|
|
| |
_setValue(): New overridden method which handles the special case when
ALLOW_OPEN_SUBSCRIBE is set.
|
| |
|
|
|
| |
member_moderation_action and member_moderation_notice. Also, add a
separator for "Member filters" vs. "Non-member filters".
|
| | |
|
| |
|
|
|
| |
regular expressions, and provide a link to Python's re module
documentation.
|
| |
|
|
| |
discard_these_nonmebers detail, found by Szilard Vizi.
|
| |
|
|
|
|
| |
consistency and clarity (sorry translators!).
Also, add unsubscribe_policy configuration info.
|
| |
|
|
| |
default_member_moderation to clarify.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
subcat argument. If the category doesn't apply to this gui component,
None is returned, otherwise the config list is returned.
Also (and more importantly), separate privacy filters into three
subcategories: "subscribing" for general subscription and visibility
options, "sender" for sender-centric moderation filters, and "spam"
for anti-spam controls.
And, add all the new sender-centric moderation variables while
removing the old ones.
|
| |
|
|
|
| |
"administrator". Add a VARHELP link to member_posting_only when
describing "Restrict..." in the posters option
|
| |
|
|
| |
non-breaking. Also, consistency in capitalization.
|
| |
|
|
| |
_() string expects.
|
| | |
|
|
|
GetConfigInfo() structures that used to be in the modules one
directory up.
|