summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarry Warsaw2007-07-18 11:46:44 -0400
committerBarry Warsaw2007-07-18 11:46:44 -0400
commit50d84950d1060129da8eb3c3c490a7395b0837e5 (patch)
tree0902bb4b1a5c8f7caa05191e9de9d3d0f76fe648
parent012fcb71e7e634b985219a7d5cf0deda87a2aa90 (diff)
downloadmailman-50d84950d1060129da8eb3c3c490a7395b0837e5.tar.gz
mailman-50d84950d1060129da8eb3c3c490a7395b0837e5.tar.zst
mailman-50d84950d1060129da8eb3c3c490a7395b0837e5.zip
-rw-r--r--Mailman/Cgi/admin.py5
-rw-r--r--Mailman/Cgi/confirm.py2
-rw-r--r--Mailman/Cgi/create.py6
-rw-r--r--Mailman/Gui/Language.py3
-rw-r--r--Mailman/HTMLFormatter.py7
-rw-r--r--Mailman/SafeDict.py2
-rw-r--r--Mailman/Utils.py2
-rw-r--r--Mailman/bin/mailmanctl.py12
-rw-r--r--Mailman/bin/make_instance.py2
-rw-r--r--Mailman/bin/testall.py4
-rw-r--r--Mailman/docs/languages.txt24
-rw-r--r--Mailman/interfaces/languages.py18
-rw-r--r--Mailman/languages.py7
-rw-r--r--Mailman/tests/__init__.py (renamed from Mailman/testing/__init__.py)0
-rw-r--r--Mailman/tests/base.py (renamed from Mailman/testing/base.py)0
-rwxr-xr-xMailman/tests/bounces/__init__.py (renamed from Mailman/testing/bounces/__init__.py)0
-rw-r--r--Mailman/tests/bounces/bounce_01.txt (renamed from Mailman/testing/bounces/bounce_01.txt)0
-rw-r--r--Mailman/tests/bounces/bounce_02.txt (renamed from Mailman/testing/bounces/bounce_02.txt)0
-rw-r--r--Mailman/tests/bounces/bounce_03.txt (renamed from Mailman/testing/bounces/bounce_03.txt)0
-rw-r--r--Mailman/tests/bounces/dsn_01.txt (renamed from Mailman/testing/bounces/dsn_01.txt)0
-rw-r--r--Mailman/tests/bounces/dsn_02.txt (renamed from Mailman/testing/bounces/dsn_02.txt)0
-rw-r--r--Mailman/tests/bounces/dsn_03.txt (renamed from Mailman/testing/bounces/dsn_03.txt)0
-rw-r--r--Mailman/tests/bounces/dsn_04.txt (renamed from Mailman/testing/bounces/dsn_04.txt)0
-rw-r--r--Mailman/tests/bounces/dsn_05.txt (renamed from Mailman/testing/bounces/dsn_05.txt)0
-rw-r--r--Mailman/tests/bounces/dsn_06.txt (renamed from Mailman/testing/bounces/dsn_06.txt)0
-rw-r--r--Mailman/tests/bounces/dsn_07.txt (renamed from Mailman/testing/bounces/dsn_07.txt)0
-rw-r--r--Mailman/tests/bounces/dsn_08.txt (renamed from Mailman/testing/bounces/dsn_08.txt)0
-rw-r--r--Mailman/tests/bounces/dsn_09.txt (renamed from Mailman/testing/bounces/dsn_09.txt)0
-rw-r--r--Mailman/tests/bounces/dsn_10.txt (renamed from Mailman/testing/bounces/dsn_10.txt)0
-rw-r--r--Mailman/tests/bounces/dsn_11.txt (renamed from Mailman/testing/bounces/dsn_11.txt)0
-rw-r--r--Mailman/tests/bounces/dsn_12.txt (renamed from Mailman/testing/bounces/dsn_12.txt)0
-rw-r--r--Mailman/tests/bounces/dsn_13.txt (renamed from Mailman/testing/bounces/dsn_13.txt)0
-rw-r--r--Mailman/tests/bounces/dsn_14.txt (renamed from Mailman/testing/bounces/dsn_14.txt)0
-rw-r--r--Mailman/tests/bounces/dsn_15.txt (renamed from Mailman/testing/bounces/dsn_15.txt)0
-rw-r--r--Mailman/tests/bounces/dumbass_01.txt (renamed from Mailman/testing/bounces/dumbass_01.txt)0
-rw-r--r--Mailman/tests/bounces/exim_01.txt (renamed from Mailman/testing/bounces/exim_01.txt)0
-rw-r--r--Mailman/tests/bounces/groupwise_01.txt (renamed from Mailman/testing/bounces/groupwise_01.txt)0
-rw-r--r--Mailman/tests/bounces/groupwise_02.txt (renamed from Mailman/testing/bounces/groupwise_02.txt)0
-rw-r--r--Mailman/tests/bounces/hotpop_01.txt (renamed from Mailman/testing/bounces/hotpop_01.txt)0
-rw-r--r--Mailman/tests/bounces/llnl_01.txt (renamed from Mailman/testing/bounces/llnl_01.txt)0
-rw-r--r--Mailman/tests/bounces/microsoft_01.txt (renamed from Mailman/testing/bounces/microsoft_01.txt)0
-rw-r--r--Mailman/tests/bounces/microsoft_02.txt (renamed from Mailman/testing/bounces/microsoft_02.txt)0
-rw-r--r--Mailman/tests/bounces/microsoft_03.txt (renamed from Mailman/testing/bounces/microsoft_03.txt)0
-rw-r--r--Mailman/tests/bounces/netscape_01.txt (renamed from Mailman/testing/bounces/netscape_01.txt)0
-rw-r--r--Mailman/tests/bounces/newmailru_01.txt (renamed from Mailman/testing/bounces/newmailru_01.txt)0
-rw-r--r--Mailman/tests/bounces/postfix_01.txt (renamed from Mailman/testing/bounces/postfix_01.txt)0
-rw-r--r--Mailman/tests/bounces/postfix_02.txt (renamed from Mailman/testing/bounces/postfix_02.txt)0
-rw-r--r--Mailman/tests/bounces/postfix_03.txt (renamed from Mailman/testing/bounces/postfix_03.txt)0
-rw-r--r--Mailman/tests/bounces/postfix_04.txt (renamed from Mailman/testing/bounces/postfix_04.txt)0
-rw-r--r--Mailman/tests/bounces/postfix_05.txt (renamed from Mailman/testing/bounces/postfix_05.txt)0
-rw-r--r--Mailman/tests/bounces/qmail_01.txt (renamed from Mailman/testing/bounces/qmail_01.txt)0
-rw-r--r--Mailman/tests/bounces/qmail_02.txt (renamed from Mailman/testing/bounces/qmail_02.txt)0
-rw-r--r--Mailman/tests/bounces/qmail_03.txt (renamed from Mailman/testing/bounces/qmail_03.txt)0
-rw-r--r--Mailman/tests/bounces/qmail_04.txt (renamed from Mailman/testing/bounces/qmail_04.txt)0
-rw-r--r--Mailman/tests/bounces/qmail_05.txt (renamed from Mailman/testing/bounces/qmail_05.txt)0
-rw-r--r--Mailman/tests/bounces/sendmail_01.txt (renamed from Mailman/testing/bounces/sendmail_01.txt)0
-rw-r--r--Mailman/tests/bounces/simple_01.txt (renamed from Mailman/testing/bounces/simple_01.txt)0
-rw-r--r--Mailman/tests/bounces/simple_02.txt (renamed from Mailman/testing/bounces/simple_02.txt)0
-rw-r--r--Mailman/tests/bounces/simple_03.txt (renamed from Mailman/testing/bounces/simple_03.txt)0
-rw-r--r--Mailman/tests/bounces/simple_04.txt (renamed from Mailman/testing/bounces/simple_04.txt)0
-rw-r--r--Mailman/tests/bounces/simple_05.txt (renamed from Mailman/testing/bounces/simple_05.txt)0
-rw-r--r--Mailman/tests/bounces/simple_06.txt (renamed from Mailman/testing/bounces/simple_06.txt)0
-rw-r--r--Mailman/tests/bounces/simple_07.txt (renamed from Mailman/testing/bounces/simple_07.txt)0
-rw-r--r--Mailman/tests/bounces/simple_08.txt (renamed from Mailman/testing/bounces/simple_08.txt)0
-rw-r--r--Mailman/tests/bounces/simple_09.txt (renamed from Mailman/testing/bounces/simple_09.txt)0
-rw-r--r--Mailman/tests/bounces/simple_10.txt (renamed from Mailman/testing/bounces/simple_10.txt)0
-rw-r--r--Mailman/tests/bounces/simple_11.txt (renamed from Mailman/testing/bounces/simple_11.txt)0
-rw-r--r--Mailman/tests/bounces/simple_12.txt (renamed from Mailman/testing/bounces/simple_12.txt)0
-rw-r--r--Mailman/tests/bounces/simple_13.txt (renamed from Mailman/testing/bounces/simple_13.txt)0
-rw-r--r--Mailman/tests/bounces/simple_14.txt (renamed from Mailman/testing/bounces/simple_14.txt)0
-rw-r--r--Mailman/tests/bounces/simple_15.txt (renamed from Mailman/testing/bounces/simple_15.txt)0
-rw-r--r--Mailman/tests/bounces/simple_16.txt (renamed from Mailman/testing/bounces/simple_16.txt)0
-rw-r--r--Mailman/tests/bounces/simple_17.txt (renamed from Mailman/testing/bounces/simple_17.txt)0
-rw-r--r--Mailman/tests/bounces/simple_18.txt (renamed from Mailman/testing/bounces/simple_18.txt)0
-rw-r--r--Mailman/tests/bounces/simple_19.txt (renamed from Mailman/testing/bounces/simple_19.txt)0
-rw-r--r--Mailman/tests/bounces/simple_20.txt (renamed from Mailman/testing/bounces/simple_20.txt)0
-rw-r--r--Mailman/tests/bounces/simple_21.txt (renamed from Mailman/testing/bounces/simple_21.txt)0
-rw-r--r--Mailman/tests/bounces/simple_22.txt (renamed from Mailman/testing/bounces/simple_22.txt)0
-rw-r--r--Mailman/tests/bounces/simple_23.txt (renamed from Mailman/testing/bounces/simple_23.txt)0
-rw-r--r--Mailman/tests/bounces/simple_24.txt (renamed from Mailman/testing/bounces/simple_24.txt)0
-rw-r--r--Mailman/tests/bounces/simple_25.txt (renamed from Mailman/testing/bounces/simple_25.txt)0
-rw-r--r--Mailman/tests/bounces/simple_26.txt (renamed from Mailman/testing/bounces/simple_26.txt)0
-rw-r--r--Mailman/tests/bounces/simple_27.txt (renamed from Mailman/testing/bounces/simple_27.txt)0
-rw-r--r--Mailman/tests/bounces/sina_01.txt (renamed from Mailman/testing/bounces/sina_01.txt)0
-rw-r--r--Mailman/tests/bounces/smtp32_01.txt (renamed from Mailman/testing/bounces/smtp32_01.txt)0
-rw-r--r--Mailman/tests/bounces/smtp32_02.txt (renamed from Mailman/testing/bounces/smtp32_02.txt)0
-rw-r--r--Mailman/tests/bounces/smtp32_03.txt (renamed from Mailman/testing/bounces/smtp32_03.txt)0
-rw-r--r--Mailman/tests/bounces/smtp32_04.txt (renamed from Mailman/testing/bounces/smtp32_04.txt)0
-rw-r--r--Mailman/tests/bounces/smtp32_05.txt (renamed from Mailman/testing/bounces/smtp32_05.txt)0
-rw-r--r--Mailman/tests/bounces/smtp32_06.txt (renamed from Mailman/testing/bounces/smtp32_06.txt)0
-rw-r--r--Mailman/tests/bounces/yahoo_01.txt (renamed from Mailman/testing/bounces/yahoo_01.txt)0
-rw-r--r--Mailman/tests/bounces/yahoo_02.txt (renamed from Mailman/testing/bounces/yahoo_02.txt)bin2212 -> 2212 bytes
-rw-r--r--Mailman/tests/bounces/yahoo_03.txt (renamed from Mailman/testing/bounces/yahoo_03.txt)0
-rw-r--r--Mailman/tests/bounces/yahoo_04.txt (renamed from Mailman/testing/bounces/yahoo_04.txt)0
-rw-r--r--Mailman/tests/bounces/yahoo_05.txt (renamed from Mailman/testing/bounces/yahoo_05.txt)0
-rw-r--r--Mailman/tests/bounces/yahoo_06.txt (renamed from Mailman/testing/bounces/yahoo_06.txt)0
-rw-r--r--Mailman/tests/bounces/yahoo_07.txt (renamed from Mailman/testing/bounces/yahoo_07.txt)0
-rw-r--r--Mailman/tests/bounces/yahoo_08.txt (renamed from Mailman/testing/bounces/yahoo_08.txt)0
-rw-r--r--Mailman/tests/bounces/yahoo_09.txt (renamed from Mailman/testing/bounces/yahoo_09.txt)0
-rw-r--r--Mailman/tests/bounces/yahoo_10.txt (renamed from Mailman/testing/bounces/yahoo_10.txt)0
-rw-r--r--Mailman/tests/bounces/yale_01.txt (renamed from Mailman/testing/bounces/yale_01.txt)0
-rw-r--r--Mailman/tests/emailbase.py (renamed from Mailman/testing/emailbase.py)2
-rw-r--r--Mailman/tests/test_bounces.py (renamed from Mailman/testing/test_bounces.py)4
-rw-r--r--Mailman/tests/test_documentation.py (renamed from Mailman/testing/test_documentation.py)0
-rw-r--r--Mailman/tests/test_handlers.py (renamed from Mailman/testing/test_handlers.py)2
-rw-r--r--Mailman/tests/test_lockfile.py (renamed from Mailman/testing/test_lockfile.py)0
-rw-r--r--Mailman/tests/test_membership.py (renamed from Mailman/testing/test_membership.py)2
-rw-r--r--Mailman/tests/test_passwords.py (renamed from Mailman/testing/test_passwords.py)0
-rw-r--r--Mailman/tests/test_safedict.py (renamed from Mailman/testing/test_safedict.py)0
-rw-r--r--Mailman/tests/test_security_mgr.py (renamed from Mailman/testing/test_security_mgr.py)2
-rw-r--r--Mailman/tests/testing.cfg.in (renamed from Mailman/testing/testing.cfg.in)0
-rw-r--r--setup.py18
112 files changed, 73 insertions, 51 deletions
diff --git a/Mailman/Cgi/admin.py b/Mailman/Cgi/admin.py
index fb0ab1a56..cfca3a88e 100644
--- a/Mailman/Cgi/admin.py
+++ b/Mailman/Cgi/admin.py
@@ -625,8 +625,7 @@ def get_item_gui_value(mlist, category, kind, varname, params, extra):
values, legend, selected = params
else:
codes = mlist.language_codes
- legend = [config.languages.get_language_data(code)[0]
- for code in codes]
+ legend = [config.languages.get_description(code) for code in codes]
selected = codes.index(mlist.preferred_language)
return SelectOptions(varname, values, legend, selected)
elif kind == config.Topics:
@@ -987,7 +986,7 @@ def membership_options(mlist, subcat, cgidata, doc, form):
# User's preferred language
langpref = mlist.getMemberLanguage(addr)
langs = mlist.language_codes
- langdescs = [_(config.languges.get_language_data(code)[0])
+ langdescs = [_(config.languges.get_description(code))
for code in langs]
try:
selected = langs.index(langpref)
diff --git a/Mailman/Cgi/confirm.py b/Mailman/Cgi/confirm.py
index aee6df46b..121d775ed 100644
--- a/Mailman/Cgi/confirm.py
+++ b/Mailman/Cgi/confirm.py
@@ -286,7 +286,7 @@ def subscription_prompt(mlist, doc, cookie, userdesc):
RadioButtonArray('digests', (_('No'), _('Yes')),
checked=digest, values=(0, 1))])
langs = mlist.language_codes
- values = [_(config.languages.get_language_data(code)[0]) for code in langs]
+ values = [_(config.languages.get_description(code)) for code in langs]
try:
selected = langs.index(lang)
except ValueError:
diff --git a/Mailman/Cgi/create.py b/Mailman/Cgi/create.py
index 978f1b9ac..a25f240ed 100644
--- a/Mailman/Cgi/create.py
+++ b/Mailman/Cgi/create.py
@@ -361,14 +361,14 @@ def request_creation(doc, cgidata=dummy, errmsg=None):
# invocations.
checked = [0] * len(langs)
checked[langi] = 1
- deflang = _(config.languages.get_language_data(
- config.DEFAULT_SERVER_LANGUAGE)[0])
+ deflang = _(
+ config.languages.get_description(config.DEFAULT_SERVER_LANGUAGE))
ftable.AddRow([Label(_(
"""Initial list of supported languages. <p>Note that if you do not
select at least one initial language, the list will use the server
default language of $deflang""")),
CheckBoxArray('langs',
- [_(config.languges.get_language_data(code)[0])
+ [_(config.languges.get_description(code))
for code in langs],
checked=checked,
values=langs)])
diff --git a/Mailman/Gui/Language.py b/Mailman/Gui/Language.py
index bcd0ba93b..4c31447bd 100644
--- a/Mailman/Gui/Language.py
+++ b/Mailman/Gui/Language.py
@@ -56,8 +56,7 @@ class Language(GUIBase):
all = sorted(code for code in config.languages.enabled_codes
if checkcodec(Utils.GetCharSet(code)))
checked = [L in langs for L in all]
- allnames = [_(config.languages.get_language_data(code)[0])
- for code in all]
+ allnames = [_(config.languages.get_description(code)) for code in all]
return [
_('Natural language (internationalization) options.'),
diff --git a/Mailman/HTMLFormatter.py b/Mailman/HTMLFormatter.py
index a5e69dbcd..8fa650ed7 100644
--- a/Mailman/HTMLFormatter.py
+++ b/Mailman/HTMLFormatter.py
@@ -377,8 +377,8 @@ class HTMLFormatter:
# If only one language is enabled for this mailing list, omit the
# language choice buttons.
if len(self.language_codes) == 1:
- listlangs = _(config.languages.get_language_data(
- self.preferred_language))
+ listlangs = _(
+ config.languages.get_description(self.preferred_language))
else:
listlangs = self.GetLangSelectBox(lang).Format()
d = {
@@ -425,8 +425,7 @@ class HTMLFormatter:
lang = self.preferred_language
# Figure out the available languages
values = self.language_codes
- legend = [config.languages.get_language_data(code)[0]
- for code in values]
+ legend = [config.languages.get_description(code) for code in values]
try:
selected = values.index(lang)
except ValueError:
diff --git a/Mailman/SafeDict.py b/Mailman/SafeDict.py
index 52f78c6a2..2ddbc3dc5 100644
--- a/Mailman/SafeDict.py
+++ b/Mailman/SafeDict.py
@@ -35,7 +35,7 @@ class SafeDict(dict):
if charset:
self.cset = charset
elif lang:
- self.cset = config.languages.get_language_data(lang)[1]
+ self.cset = config.languages.get_charset(lang)
else:
self.cset = 'us-ascii'
diff --git a/Mailman/Utils.py b/Mailman/Utils.py
index 4121d3d75..240658e59 100644
--- a/Mailman/Utils.py
+++ b/Mailman/Utils.py
@@ -660,7 +660,7 @@ def makedirs(path, mode=02775):
# XXX Replace this with direct calls. For now, existing uses of GetCharSet()
# are too numerous to change.
def GetCharSet(lang):
- return config.languages.get_language_data(lang)[1]
+ return config.languages.get_charset(lang)
diff --git a/Mailman/bin/mailmanctl.py b/Mailman/bin/mailmanctl.py
index 6d3636501..78ae0c8e8 100644
--- a/Mailman/bin/mailmanctl.py
+++ b/Mailman/bin/mailmanctl.py
@@ -40,6 +40,9 @@ __i18n_templates__ = True
COMMASPACE = ', '
DOT = '.'
+# Calculate this here and now, because we're going to do a chdir later on, and
+# if the path is relative, the qrunner script won't be found.
+BIN_DIR = os.path.abspath(os.path.dirname(sys.argv[0]))
# Since we wake up once per day and refresh the lock, the LOCK_LIFETIME
# needn't be (much) longer than SNOOZE. We pad it 6 hours just to be safe.
@@ -252,10 +255,11 @@ def start_runner(qrname, slice, count):
#
# Craft the command line arguments for the exec() call.
rswitch = '--runner=%s:%d:%d' % (qrname, slice, count)
- exe = os.path.join(config.BIN_DIR, 'qrunner')
+ # Wherever mailmanctl lives, so too must live the qrunner script.
+ exe = os.path.join(BIN_DIR, 'qrunner')
# config.PYTHON, which is the absolute path to the Python interpreter,
# must be given as argv[0] due to Python's library search algorithm.
- args = [config.PYTHON, config.PYTHON, exe, rswitch, '-s']
+ args = [sys.executable, sys.executable, exe, rswitch, '-s']
if opts.config:
args.extend(['-C', opts.config])
os.execl(*args)
@@ -380,8 +384,8 @@ def main():
# won't be opening any terminal devices, don't do the ultra-paranoid
# suggestion of doing a second fork after the setsid() call.
os.setsid()
- # Instead of cd'ing to root, cd to the Mailman installation home
- os.chdir(config.PREFIX)
+ # Instead of cd'ing to root, cd to the Mailman runtime directory.
+ os.chdir(config.VAR_DIR)
# I don't think we have any unneeded file descriptors.
#
# Now start all the qrunners. This returns a dictionary where the
diff --git a/Mailman/bin/make_instance.py b/Mailman/bin/make_instance.py
index 14eed24ce..e82c12cde 100644
--- a/Mailman/bin/make_instance.py
+++ b/Mailman/bin/make_instance.py
@@ -155,7 +155,7 @@ def instantiate(var_dir, user, group, languages, force):
def main():
parser, opts, args = parseargs()
- available_languages = set(Defaults.LANGUAGE_DICT)
+ available_languages = set(Defaults._DEFAULT_LANGUAGE_DATA)
enable_languages = set(opts.languages.split())
if 'all' in enable_languages:
languages = available_languages
diff --git a/Mailman/bin/testall.py b/Mailman/bin/testall.py
index a5c9d02e6..3be33a655 100644
--- a/Mailman/bin/testall.py
+++ b/Mailman/bin/testall.py
@@ -30,7 +30,7 @@ import tempfile
import unittest
import Mailman
-import Mailman.testing
+import Mailman.tests
from Mailman import Version
from Mailman.configuration import config
@@ -171,7 +171,7 @@ def main():
# the tests won't tread on the installation's data. This also makes it
# easier to clean up after the tests are done, and insures isolation of
# test suite runs.
- cfg_in = os.path.join(os.path.dirname(Mailman.testing.__file__),
+ cfg_in = os.path.join(os.path.dirname(Mailman.tests.__file__),
'testing.cfg.in')
fd, cfg_out = tempfile.mkstemp(suffix='.cfg')
os.close(fd)
diff --git a/Mailman/docs/languages.txt b/Mailman/docs/languages.txt
index 2c1664da3..e2df1d33d 100644
--- a/Mailman/docs/languages.txt
+++ b/Mailman/docs/languages.txt
@@ -23,7 +23,11 @@ languages which are enabled. By default, none are known or enabled.
The language manager also keeps track of information for each known language,
but you obviously can't get information for an unknown language.
- >>> mgr.get_language_data('en')
+ >>> mgr.get_description('en')
+ Traceback (most recent call last):
+ ...
+ KeyError: 'en'
+ >>> mgr.get_charset('en')
Traceback (most recent call last):
...
KeyError: 'en'
@@ -48,10 +52,14 @@ By default, added languages are also enabled.
And you can get information for all known languages.
- >>> mgr.get_language_data('en')
- ('English', 'us-ascii')
- >>> mgr.get_language_data('it')
- ('Italian', 'iso-8859-1')
+ >>> mgr.get_description('en')
+ 'English'
+ >>> mgr.get_charset('en')
+ 'us-ascii'
+ >>> mgr.get_description('it')
+ 'Italian'
+ >>> mgr.get_charset('it')
+ 'iso-8859-1'
You can also add a language without enabling it.
@@ -63,8 +71,10 @@ You can also add a language without enabling it.
You can get language data for disabled languages.
- >>> mgr.get_language_data('pl')
- ('Polish', 'iso-8859-2')
+ >>> mgr.get_description('pl')
+ 'Polish'
+ >>> mgr.get_charset('pl')
+ 'iso-8859-2'
And of course you can enable a known language.
diff --git a/Mailman/interfaces/languages.py b/Mailman/interfaces/languages.py
index 44a284a5b..b9ddd8c90 100644
--- a/Mailman/interfaces/languages.py
+++ b/Mailman/interfaces/languages.py
@@ -47,12 +47,20 @@ class ILanguageManager(Interface):
language code.
"""
- def get_language_data(code):
- """Return the description and charset for the given `code`.
+ def get_description(code):
+ """Return the language description for the given code.
- :param code: The code to lookup.
- :returns: A 2-tuple of the description and charset for the code.
- :raises KeyError: when the code is unknown.
+ :param code: The two letter language code to look up.
+ :returns: The English description of the language.
+ :raises KeyError: when the code has not been added.
+ """
+
+ def get_charset(code):
+ """Return the character set for the given code.
+
+ :param code: The two letter language code to look up.
+ :returns: The character set of the language.
+ :raises KeyError: when the code has not been added.
"""
known_codes = Attribute(
diff --git a/Mailman/languages.py b/Mailman/languages.py
index a6a457a20..b97069c93 100644
--- a/Mailman/languages.py
+++ b/Mailman/languages.py
@@ -39,8 +39,11 @@ class LanguageManager:
self._language_data[code]
self._enabled.add(code)
- def get_language_data(self, code):
- return self._language_data[code]
+ def get_description(self, code):
+ return self._language_data[code][0]
+
+ def get_charset(self, code):
+ return self._language_data[code][1]
@property
def known_codes(self):
diff --git a/Mailman/testing/__init__.py b/Mailman/tests/__init__.py
index e69de29bb..e69de29bb 100644
--- a/Mailman/testing/__init__.py
+++ b/Mailman/tests/__init__.py
diff --git a/Mailman/testing/base.py b/Mailman/tests/base.py
index 562443b1e..562443b1e 100644
--- a/Mailman/testing/base.py
+++ b/Mailman/tests/base.py
diff --git a/Mailman/testing/bounces/__init__.py b/Mailman/tests/bounces/__init__.py
index e69de29bb..e69de29bb 100755
--- a/Mailman/testing/bounces/__init__.py
+++ b/Mailman/tests/bounces/__init__.py
diff --git a/Mailman/testing/bounces/bounce_01.txt b/Mailman/tests/bounces/bounce_01.txt
index ab7f45d47..ab7f45d47 100644
--- a/Mailman/testing/bounces/bounce_01.txt
+++ b/Mailman/tests/bounces/bounce_01.txt
diff --git a/Mailman/testing/bounces/bounce_02.txt b/Mailman/tests/bounces/bounce_02.txt
index 0f7d7f32d..0f7d7f32d 100644
--- a/Mailman/testing/bounces/bounce_02.txt
+++ b/Mailman/tests/bounces/bounce_02.txt
diff --git a/Mailman/testing/bounces/bounce_03.txt b/Mailman/tests/bounces/bounce_03.txt
index fc62dcab6..fc62dcab6 100644
--- a/Mailman/testing/bounces/bounce_03.txt
+++ b/Mailman/tests/bounces/bounce_03.txt
diff --git a/Mailman/testing/bounces/dsn_01.txt b/Mailman/tests/bounces/dsn_01.txt
index d09768c6a..d09768c6a 100644
--- a/Mailman/testing/bounces/dsn_01.txt
+++ b/Mailman/tests/bounces/dsn_01.txt
diff --git a/Mailman/testing/bounces/dsn_02.txt b/Mailman/tests/bounces/dsn_02.txt
index 3525605f8..3525605f8 100644
--- a/Mailman/testing/bounces/dsn_02.txt
+++ b/Mailman/tests/bounces/dsn_02.txt
diff --git a/Mailman/testing/bounces/dsn_03.txt b/Mailman/tests/bounces/dsn_03.txt
index 4e4fef058..4e4fef058 100644
--- a/Mailman/testing/bounces/dsn_03.txt
+++ b/Mailman/tests/bounces/dsn_03.txt
diff --git a/Mailman/testing/bounces/dsn_04.txt b/Mailman/tests/bounces/dsn_04.txt
index 9bea97589..9bea97589 100644
--- a/Mailman/testing/bounces/dsn_04.txt
+++ b/Mailman/tests/bounces/dsn_04.txt
diff --git a/Mailman/testing/bounces/dsn_05.txt b/Mailman/tests/bounces/dsn_05.txt
index 73331578e..73331578e 100644
--- a/Mailman/testing/bounces/dsn_05.txt
+++ b/Mailman/tests/bounces/dsn_05.txt
diff --git a/Mailman/testing/bounces/dsn_06.txt b/Mailman/tests/bounces/dsn_06.txt
index 22f69760a..22f69760a 100644
--- a/Mailman/testing/bounces/dsn_06.txt
+++ b/Mailman/tests/bounces/dsn_06.txt
diff --git a/Mailman/testing/bounces/dsn_07.txt b/Mailman/tests/bounces/dsn_07.txt
index 2e5a0e5d8..2e5a0e5d8 100644
--- a/Mailman/testing/bounces/dsn_07.txt
+++ b/Mailman/tests/bounces/dsn_07.txt
diff --git a/Mailman/testing/bounces/dsn_08.txt b/Mailman/tests/bounces/dsn_08.txt
index 8d4d3b8b6..8d4d3b8b6 100644
--- a/Mailman/testing/bounces/dsn_08.txt
+++ b/Mailman/tests/bounces/dsn_08.txt
diff --git a/Mailman/testing/bounces/dsn_09.txt b/Mailman/tests/bounces/dsn_09.txt
index 89c0f9add..89c0f9add 100644
--- a/Mailman/testing/bounces/dsn_09.txt
+++ b/Mailman/tests/bounces/dsn_09.txt
diff --git a/Mailman/testing/bounces/dsn_10.txt b/Mailman/tests/bounces/dsn_10.txt
index d37aa1745..d37aa1745 100644
--- a/Mailman/testing/bounces/dsn_10.txt
+++ b/Mailman/tests/bounces/dsn_10.txt
diff --git a/Mailman/testing/bounces/dsn_11.txt b/Mailman/tests/bounces/dsn_11.txt
index f3e8acaa7..f3e8acaa7 100644
--- a/Mailman/testing/bounces/dsn_11.txt
+++ b/Mailman/tests/bounces/dsn_11.txt
diff --git a/Mailman/testing/bounces/dsn_12.txt b/Mailman/tests/bounces/dsn_12.txt
index 473abb8b2..473abb8b2 100644
--- a/Mailman/testing/bounces/dsn_12.txt
+++ b/Mailman/tests/bounces/dsn_12.txt
diff --git a/Mailman/testing/bounces/dsn_13.txt b/Mailman/tests/bounces/dsn_13.txt
index c9156f3af..c9156f3af 100644
--- a/Mailman/testing/bounces/dsn_13.txt
+++ b/Mailman/tests/bounces/dsn_13.txt
diff --git a/Mailman/testing/bounces/dsn_14.txt b/Mailman/tests/bounces/dsn_14.txt
index 448b4e042..448b4e042 100644
--- a/Mailman/testing/bounces/dsn_14.txt
+++ b/Mailman/tests/bounces/dsn_14.txt
diff --git a/Mailman/testing/bounces/dsn_15.txt b/Mailman/tests/bounces/dsn_15.txt
index 37d5460c9..37d5460c9 100644
--- a/Mailman/testing/bounces/dsn_15.txt
+++ b/Mailman/tests/bounces/dsn_15.txt
diff --git a/Mailman/testing/bounces/dumbass_01.txt b/Mailman/tests/bounces/dumbass_01.txt
index c4e40d4b0..c4e40d4b0 100644
--- a/Mailman/testing/bounces/dumbass_01.txt
+++ b/Mailman/tests/bounces/dumbass_01.txt
diff --git a/Mailman/testing/bounces/exim_01.txt b/Mailman/tests/bounces/exim_01.txt
index 42ceb0b0a..42ceb0b0a 100644
--- a/Mailman/testing/bounces/exim_01.txt
+++ b/Mailman/tests/bounces/exim_01.txt
diff --git a/Mailman/testing/bounces/groupwise_01.txt b/Mailman/tests/bounces/groupwise_01.txt
index 68101ba07..68101ba07 100644
--- a/Mailman/testing/bounces/groupwise_01.txt
+++ b/Mailman/tests/bounces/groupwise_01.txt
diff --git a/Mailman/testing/bounces/groupwise_02.txt b/Mailman/tests/bounces/groupwise_02.txt
index 3abfdf869..3abfdf869 100644
--- a/Mailman/testing/bounces/groupwise_02.txt
+++ b/Mailman/tests/bounces/groupwise_02.txt
diff --git a/Mailman/testing/bounces/hotpop_01.txt b/Mailman/tests/bounces/hotpop_01.txt
index 970c39985..970c39985 100644
--- a/Mailman/testing/bounces/hotpop_01.txt
+++ b/Mailman/tests/bounces/hotpop_01.txt
diff --git a/Mailman/testing/bounces/llnl_01.txt b/Mailman/tests/bounces/llnl_01.txt
index 9a6de7f9a..9a6de7f9a 100644
--- a/Mailman/testing/bounces/llnl_01.txt
+++ b/Mailman/tests/bounces/llnl_01.txt
diff --git a/Mailman/testing/bounces/microsoft_01.txt b/Mailman/tests/bounces/microsoft_01.txt
index 92465f78b..92465f78b 100644
--- a/Mailman/testing/bounces/microsoft_01.txt
+++ b/Mailman/tests/bounces/microsoft_01.txt
diff --git a/Mailman/testing/bounces/microsoft_02.txt b/Mailman/tests/bounces/microsoft_02.txt
index 3c6c5416d..3c6c5416d 100644
--- a/Mailman/testing/bounces/microsoft_02.txt
+++ b/Mailman/tests/bounces/microsoft_02.txt
diff --git a/Mailman/testing/bounces/microsoft_03.txt b/Mailman/tests/bounces/microsoft_03.txt
index e4216e0c9..e4216e0c9 100644
--- a/Mailman/testing/bounces/microsoft_03.txt
+++ b/Mailman/tests/bounces/microsoft_03.txt
diff --git a/Mailman/testing/bounces/netscape_01.txt b/Mailman/tests/bounces/netscape_01.txt
index adcde15b9..adcde15b9 100644
--- a/Mailman/testing/bounces/netscape_01.txt
+++ b/Mailman/tests/bounces/netscape_01.txt
diff --git a/Mailman/testing/bounces/newmailru_01.txt b/Mailman/tests/bounces/newmailru_01.txt
index 7802c1516..7802c1516 100644
--- a/Mailman/testing/bounces/newmailru_01.txt
+++ b/Mailman/tests/bounces/newmailru_01.txt
diff --git a/Mailman/testing/bounces/postfix_01.txt b/Mailman/tests/bounces/postfix_01.txt
index 186cc7633..186cc7633 100644
--- a/Mailman/testing/bounces/postfix_01.txt
+++ b/Mailman/tests/bounces/postfix_01.txt
diff --git a/Mailman/testing/bounces/postfix_02.txt b/Mailman/tests/bounces/postfix_02.txt
index c4065816e..c4065816e 100644
--- a/Mailman/testing/bounces/postfix_02.txt
+++ b/Mailman/tests/bounces/postfix_02.txt
diff --git a/Mailman/testing/bounces/postfix_03.txt b/Mailman/tests/bounces/postfix_03.txt
index 5204712c4..5204712c4 100644
--- a/Mailman/testing/bounces/postfix_03.txt
+++ b/Mailman/tests/bounces/postfix_03.txt
diff --git a/Mailman/testing/bounces/postfix_04.txt b/Mailman/tests/bounces/postfix_04.txt
index 86a60ea8d..86a60ea8d 100644
--- a/Mailman/testing/bounces/postfix_04.txt
+++ b/Mailman/tests/bounces/postfix_04.txt
diff --git a/Mailman/testing/bounces/postfix_05.txt b/Mailman/tests/bounces/postfix_05.txt
index 4bd56d60a..4bd56d60a 100644
--- a/Mailman/testing/bounces/postfix_05.txt
+++ b/Mailman/tests/bounces/postfix_05.txt
diff --git a/Mailman/testing/bounces/qmail_01.txt b/Mailman/tests/bounces/qmail_01.txt
index dbe6f4351..dbe6f4351 100644
--- a/Mailman/testing/bounces/qmail_01.txt
+++ b/Mailman/tests/bounces/qmail_01.txt
diff --git a/Mailman/testing/bounces/qmail_02.txt b/Mailman/tests/bounces/qmail_02.txt
index ad3a232f1..ad3a232f1 100644
--- a/Mailman/testing/bounces/qmail_02.txt
+++ b/Mailman/tests/bounces/qmail_02.txt
diff --git a/Mailman/testing/bounces/qmail_03.txt b/Mailman/tests/bounces/qmail_03.txt
index 04e352806..04e352806 100644
--- a/Mailman/testing/bounces/qmail_03.txt
+++ b/Mailman/tests/bounces/qmail_03.txt
diff --git a/Mailman/testing/bounces/qmail_04.txt b/Mailman/tests/bounces/qmail_04.txt
index dae2db011..dae2db011 100644
--- a/Mailman/testing/bounces/qmail_04.txt
+++ b/Mailman/tests/bounces/qmail_04.txt
diff --git a/Mailman/testing/bounces/qmail_05.txt b/Mailman/tests/bounces/qmail_05.txt
index dd581cdab..dd581cdab 100644
--- a/Mailman/testing/bounces/qmail_05.txt
+++ b/Mailman/tests/bounces/qmail_05.txt
diff --git a/Mailman/testing/bounces/sendmail_01.txt b/Mailman/tests/bounces/sendmail_01.txt
index cfea95a2f..cfea95a2f 100644
--- a/Mailman/testing/bounces/sendmail_01.txt
+++ b/Mailman/tests/bounces/sendmail_01.txt
diff --git a/Mailman/testing/bounces/simple_01.txt b/Mailman/tests/bounces/simple_01.txt
index f2d2669f6..f2d2669f6 100644
--- a/Mailman/testing/bounces/simple_01.txt
+++ b/Mailman/tests/bounces/simple_01.txt
diff --git a/Mailman/testing/bounces/simple_02.txt b/Mailman/tests/bounces/simple_02.txt
index f017fa25d..f017fa25d 100644
--- a/Mailman/testing/bounces/simple_02.txt
+++ b/Mailman/tests/bounces/simple_02.txt
diff --git a/Mailman/testing/bounces/simple_03.txt b/Mailman/tests/bounces/simple_03.txt
index 16fc04d63..16fc04d63 100644
--- a/Mailman/testing/bounces/simple_03.txt
+++ b/Mailman/tests/bounces/simple_03.txt
diff --git a/Mailman/testing/bounces/simple_04.txt b/Mailman/tests/bounces/simple_04.txt
index 022a31980..022a31980 100644
--- a/Mailman/testing/bounces/simple_04.txt
+++ b/Mailman/tests/bounces/simple_04.txt
diff --git a/Mailman/testing/bounces/simple_05.txt b/Mailman/tests/bounces/simple_05.txt
index c67113b40..c67113b40 100644
--- a/Mailman/testing/bounces/simple_05.txt
+++ b/Mailman/tests/bounces/simple_05.txt
diff --git a/Mailman/testing/bounces/simple_06.txt b/Mailman/tests/bounces/simple_06.txt
index bbb2b7573..bbb2b7573 100644
--- a/Mailman/testing/bounces/simple_06.txt
+++ b/Mailman/tests/bounces/simple_06.txt
diff --git a/Mailman/testing/bounces/simple_07.txt b/Mailman/tests/bounces/simple_07.txt
index 46930ec4a..46930ec4a 100644
--- a/Mailman/testing/bounces/simple_07.txt
+++ b/Mailman/tests/bounces/simple_07.txt
diff --git a/Mailman/testing/bounces/simple_08.txt b/Mailman/tests/bounces/simple_08.txt
index c2067ce53..c2067ce53 100644
--- a/Mailman/testing/bounces/simple_08.txt
+++ b/Mailman/tests/bounces/simple_08.txt
diff --git a/Mailman/testing/bounces/simple_09.txt b/Mailman/tests/bounces/simple_09.txt
index 340c410b7..340c410b7 100644
--- a/Mailman/testing/bounces/simple_09.txt
+++ b/Mailman/tests/bounces/simple_09.txt
diff --git a/Mailman/testing/bounces/simple_10.txt b/Mailman/tests/bounces/simple_10.txt
index dfc9c3cf0..dfc9c3cf0 100644
--- a/Mailman/testing/bounces/simple_10.txt
+++ b/Mailman/tests/bounces/simple_10.txt
diff --git a/Mailman/testing/bounces/simple_11.txt b/Mailman/tests/bounces/simple_11.txt
index 2d046db5c..2d046db5c 100644
--- a/Mailman/testing/bounces/simple_11.txt
+++ b/Mailman/tests/bounces/simple_11.txt
diff --git a/Mailman/testing/bounces/simple_12.txt b/Mailman/tests/bounces/simple_12.txt
index b2146d46d..b2146d46d 100644
--- a/Mailman/testing/bounces/simple_12.txt
+++ b/Mailman/tests/bounces/simple_12.txt
diff --git a/Mailman/testing/bounces/simple_13.txt b/Mailman/tests/bounces/simple_13.txt
index 1cbe0f955..1cbe0f955 100644
--- a/Mailman/testing/bounces/simple_13.txt
+++ b/Mailman/tests/bounces/simple_13.txt
diff --git a/Mailman/testing/bounces/simple_14.txt b/Mailman/tests/bounces/simple_14.txt
index caffd77b7..caffd77b7 100644
--- a/Mailman/testing/bounces/simple_14.txt
+++ b/Mailman/tests/bounces/simple_14.txt
diff --git a/Mailman/testing/bounces/simple_15.txt b/Mailman/tests/bounces/simple_15.txt
index 522096a72..522096a72 100644
--- a/Mailman/testing/bounces/simple_15.txt
+++ b/Mailman/tests/bounces/simple_15.txt
diff --git a/Mailman/testing/bounces/simple_16.txt b/Mailman/tests/bounces/simple_16.txt
index 4ab1f1bee..4ab1f1bee 100644
--- a/Mailman/testing/bounces/simple_16.txt
+++ b/Mailman/tests/bounces/simple_16.txt
diff --git a/Mailman/testing/bounces/simple_17.txt b/Mailman/tests/bounces/simple_17.txt
index 10c8aac5a..10c8aac5a 100644
--- a/Mailman/testing/bounces/simple_17.txt
+++ b/Mailman/tests/bounces/simple_17.txt
diff --git a/Mailman/testing/bounces/simple_18.txt b/Mailman/tests/bounces/simple_18.txt
index 46bf0ea5d..46bf0ea5d 100644
--- a/Mailman/testing/bounces/simple_18.txt
+++ b/Mailman/tests/bounces/simple_18.txt
diff --git a/Mailman/testing/bounces/simple_19.txt b/Mailman/tests/bounces/simple_19.txt
index 2624fb607..2624fb607 100644
--- a/Mailman/testing/bounces/simple_19.txt
+++ b/Mailman/tests/bounces/simple_19.txt
diff --git a/Mailman/testing/bounces/simple_20.txt b/Mailman/tests/bounces/simple_20.txt
index 307619f7f..307619f7f 100644
--- a/Mailman/testing/bounces/simple_20.txt
+++ b/Mailman/tests/bounces/simple_20.txt
diff --git a/Mailman/testing/bounces/simple_21.txt b/Mailman/tests/bounces/simple_21.txt
index bc7af7e40..bc7af7e40 100644
--- a/Mailman/testing/bounces/simple_21.txt
+++ b/Mailman/tests/bounces/simple_21.txt
diff --git a/Mailman/testing/bounces/simple_22.txt b/Mailman/tests/bounces/simple_22.txt
index 7a72548ed..7a72548ed 100644
--- a/Mailman/testing/bounces/simple_22.txt
+++ b/Mailman/tests/bounces/simple_22.txt
diff --git a/Mailman/testing/bounces/simple_23.txt b/Mailman/tests/bounces/simple_23.txt
index ba87070ff..ba87070ff 100644
--- a/Mailman/testing/bounces/simple_23.txt
+++ b/Mailman/tests/bounces/simple_23.txt
diff --git a/Mailman/testing/bounces/simple_24.txt b/Mailman/tests/bounces/simple_24.txt
index fb9929774..fb9929774 100644
--- a/Mailman/testing/bounces/simple_24.txt
+++ b/Mailman/tests/bounces/simple_24.txt
diff --git a/Mailman/testing/bounces/simple_25.txt b/Mailman/tests/bounces/simple_25.txt
index bc4ba9247..bc4ba9247 100644
--- a/Mailman/testing/bounces/simple_25.txt
+++ b/Mailman/tests/bounces/simple_25.txt
diff --git a/Mailman/testing/bounces/simple_26.txt b/Mailman/tests/bounces/simple_26.txt
index e4f6af6c8..e4f6af6c8 100644
--- a/Mailman/testing/bounces/simple_26.txt
+++ b/Mailman/tests/bounces/simple_26.txt
diff --git a/Mailman/testing/bounces/simple_27.txt b/Mailman/tests/bounces/simple_27.txt
index 323f8e36a..323f8e36a 100644
--- a/Mailman/testing/bounces/simple_27.txt
+++ b/Mailman/tests/bounces/simple_27.txt
diff --git a/Mailman/testing/bounces/sina_01.txt b/Mailman/tests/bounces/sina_01.txt
index 366500a94..366500a94 100644
--- a/Mailman/testing/bounces/sina_01.txt
+++ b/Mailman/tests/bounces/sina_01.txt
diff --git a/Mailman/testing/bounces/smtp32_01.txt b/Mailman/tests/bounces/smtp32_01.txt
index decf0ddcc..decf0ddcc 100644
--- a/Mailman/testing/bounces/smtp32_01.txt
+++ b/Mailman/tests/bounces/smtp32_01.txt
diff --git a/Mailman/testing/bounces/smtp32_02.txt b/Mailman/tests/bounces/smtp32_02.txt
index 3336a28d4..3336a28d4 100644
--- a/Mailman/testing/bounces/smtp32_02.txt
+++ b/Mailman/tests/bounces/smtp32_02.txt
diff --git a/Mailman/testing/bounces/smtp32_03.txt b/Mailman/tests/bounces/smtp32_03.txt
index 0c284afcb..0c284afcb 100644
--- a/Mailman/testing/bounces/smtp32_03.txt
+++ b/Mailman/tests/bounces/smtp32_03.txt
diff --git a/Mailman/testing/bounces/smtp32_04.txt b/Mailman/tests/bounces/smtp32_04.txt
index 813d956a0..813d956a0 100644
--- a/Mailman/testing/bounces/smtp32_04.txt
+++ b/Mailman/tests/bounces/smtp32_04.txt
diff --git a/Mailman/testing/bounces/smtp32_05.txt b/Mailman/tests/bounces/smtp32_05.txt
index 92997ace2..92997ace2 100644
--- a/Mailman/testing/bounces/smtp32_05.txt
+++ b/Mailman/tests/bounces/smtp32_05.txt
diff --git a/Mailman/testing/bounces/smtp32_06.txt b/Mailman/tests/bounces/smtp32_06.txt
index ec7cc9522..ec7cc9522 100644
--- a/Mailman/testing/bounces/smtp32_06.txt
+++ b/Mailman/tests/bounces/smtp32_06.txt
diff --git a/Mailman/testing/bounces/yahoo_01.txt b/Mailman/tests/bounces/yahoo_01.txt
index 0758957f3..0758957f3 100644
--- a/Mailman/testing/bounces/yahoo_01.txt
+++ b/Mailman/tests/bounces/yahoo_01.txt
diff --git a/Mailman/testing/bounces/yahoo_02.txt b/Mailman/tests/bounces/yahoo_02.txt
index 90d835dc9..90d835dc9 100644
--- a/Mailman/testing/bounces/yahoo_02.txt
+++ b/Mailman/tests/bounces/yahoo_02.txt
Binary files differ
diff --git a/Mailman/testing/bounces/yahoo_03.txt b/Mailman/tests/bounces/yahoo_03.txt
index 9de32a43b..9de32a43b 100644
--- a/Mailman/testing/bounces/yahoo_03.txt
+++ b/Mailman/tests/bounces/yahoo_03.txt
diff --git a/Mailman/testing/bounces/yahoo_04.txt b/Mailman/tests/bounces/yahoo_04.txt
index cf6036360..cf6036360 100644
--- a/Mailman/testing/bounces/yahoo_04.txt
+++ b/Mailman/tests/bounces/yahoo_04.txt
diff --git a/Mailman/testing/bounces/yahoo_05.txt b/Mailman/tests/bounces/yahoo_05.txt
index 56d1a3018..56d1a3018 100644
--- a/Mailman/testing/bounces/yahoo_05.txt
+++ b/Mailman/tests/bounces/yahoo_05.txt
diff --git a/Mailman/testing/bounces/yahoo_06.txt b/Mailman/tests/bounces/yahoo_06.txt
index 16c04fd65..16c04fd65 100644
--- a/Mailman/testing/bounces/yahoo_06.txt
+++ b/Mailman/tests/bounces/yahoo_06.txt
diff --git a/Mailman/testing/bounces/yahoo_07.txt b/Mailman/tests/bounces/yahoo_07.txt
index 1f35e70f0..1f35e70f0 100644
--- a/Mailman/testing/bounces/yahoo_07.txt
+++ b/Mailman/tests/bounces/yahoo_07.txt
diff --git a/Mailman/testing/bounces/yahoo_08.txt b/Mailman/tests/bounces/yahoo_08.txt
index c531cef9b..c531cef9b 100644
--- a/Mailman/testing/bounces/yahoo_08.txt
+++ b/Mailman/tests/bounces/yahoo_08.txt
diff --git a/Mailman/testing/bounces/yahoo_09.txt b/Mailman/tests/bounces/yahoo_09.txt
index f8067a5b4..f8067a5b4 100644
--- a/Mailman/testing/bounces/yahoo_09.txt
+++ b/Mailman/tests/bounces/yahoo_09.txt
diff --git a/Mailman/testing/bounces/yahoo_10.txt b/Mailman/tests/bounces/yahoo_10.txt
index 958b90924..958b90924 100644
--- a/Mailman/testing/bounces/yahoo_10.txt
+++ b/Mailman/tests/bounces/yahoo_10.txt
diff --git a/Mailman/testing/bounces/yale_01.txt b/Mailman/tests/bounces/yale_01.txt
index 7be4754eb..7be4754eb 100644
--- a/Mailman/testing/bounces/yale_01.txt
+++ b/Mailman/tests/bounces/yale_01.txt
diff --git a/Mailman/testing/emailbase.py b/Mailman/tests/emailbase.py
index d0fdbf7d4..21b85ad63 100644
--- a/Mailman/testing/emailbase.py
+++ b/Mailman/tests/emailbase.py
@@ -26,7 +26,7 @@ import asyncore
import subprocess
from Mailman.configuration import config
-from Mailman.testing.base import TestBase
+from Mailman.tests.base import TestBase
TESTPORT = 10825
diff --git a/Mailman/testing/test_bounces.py b/Mailman/tests/test_bounces.py
index f09c671f4..ebc7c6c4d 100644
--- a/Mailman/testing/test_bounces.py
+++ b/Mailman/tests/test_bounces.py
@@ -24,10 +24,10 @@ import sys
import email
import unittest
-import Mailman.testing.bounces
+import Mailman.tests.bounces
from Mailman.Bouncers.BouncerAPI import Stop
-MSGDIR = os.path.dirname(Mailman.testing.bounces.__file__)
+MSGDIR = os.path.dirname(Mailman.tests.bounces.__file__)
diff --git a/Mailman/testing/test_documentation.py b/Mailman/tests/test_documentation.py
index c5fb62302..c5fb62302 100644
--- a/Mailman/testing/test_documentation.py
+++ b/Mailman/tests/test_documentation.py
diff --git a/Mailman/testing/test_handlers.py b/Mailman/tests/test_handlers.py
index 6901d4527..b8b33ba1a 100644
--- a/Mailman/testing/test_handlers.py
+++ b/Mailman/tests/test_handlers.py
@@ -25,7 +25,7 @@ from Mailman import Message
from Mailman import passwords
from Mailman.MailList import MailList
from Mailman.configuration import config
-from Mailman.testing.base import TestBase
+from Mailman.tests.base import TestBase
from Mailman.Handlers import Approve
# Don't test handlers such as SMTPDirect and Sendmail here
diff --git a/Mailman/testing/test_lockfile.py b/Mailman/tests/test_lockfile.py
index ae0753578..ae0753578 100644
--- a/Mailman/testing/test_lockfile.py
+++ b/Mailman/tests/test_lockfile.py
diff --git a/Mailman/testing/test_membership.py b/Mailman/tests/test_membership.py
index c6f854f0c..c7f1773b8 100644
--- a/Mailman/testing/test_membership.py
+++ b/Mailman/tests/test_membership.py
@@ -28,7 +28,7 @@ from Mailman import passwords
from Mailman.Errors import NotAMemberError
from Mailman.UserDesc import UserDesc
from Mailman.configuration import config
-from Mailman.testing.base import TestBase
+from Mailman.tests.base import TestBase
diff --git a/Mailman/testing/test_passwords.py b/Mailman/tests/test_passwords.py
index 8298c22f6..8298c22f6 100644
--- a/Mailman/testing/test_passwords.py
+++ b/Mailman/tests/test_passwords.py
diff --git a/Mailman/testing/test_safedict.py b/Mailman/tests/test_safedict.py
index 699fef5f6..699fef5f6 100644
--- a/Mailman/testing/test_safedict.py
+++ b/Mailman/tests/test_safedict.py
diff --git a/Mailman/testing/test_security_mgr.py b/Mailman/tests/test_security_mgr.py
index ea6840127..3d513562d 100644
--- a/Mailman/testing/test_security_mgr.py
+++ b/Mailman/tests/test_security_mgr.py
@@ -31,7 +31,7 @@ from Mailman import Errors
from Mailman import Utils
from Mailman import passwords
from Mailman.configuration import config
-from Mailman.testing.base import TestBase
+from Mailman.tests.base import TestBase
diff --git a/Mailman/testing/testing.cfg.in b/Mailman/tests/testing.cfg.in
index 074806cb1..074806cb1 100644
--- a/Mailman/testing/testing.cfg.in
+++ b/Mailman/tests/testing.cfg.in
diff --git a/setup.py b/setup.py
index f86a7a9a2..129d205a8 100644
--- a/setup.py
+++ b/setup.py
@@ -18,6 +18,7 @@ import ez_setup
ez_setup.use_setuptools()
import sys
+from string import Template
from Mailman.Version import VERSION as __version__
from setuptools import setup, find_packages
@@ -25,7 +26,7 @@ from setuptools import setup, find_packages
if sys.hexversion < 0x20500f0:
- print 'replybot requires at least Python 2.5'
+ print 'Mailman requires at least Python 2.5'
sys.exit(1)
@@ -50,13 +51,12 @@ for dirpath, dirnames, filenames in os.walk(start_dir):
-scripts = ['%(script)s = Mailman.bin.%(script)s:main' % dict(script=script)
- for script in (
- 'make_instance',
- 'testall',
- 'withlist',
- )
- ]
+template = Template('$script = Mailman.bin.$script:main')
+scripts = set(
+ template.substitute(script=os.path.splitext(script)[0])
+ for script in os.listdir(os.path.join('Mailman', 'bin'))
+ if not script.startswith('_')
+ )
@@ -78,7 +78,7 @@ Any other spelling is incorrect.""",
include_package_data = True,
# Executable scripts
entry_points = {
- 'console_scripts': scripts,
+ 'console_scripts': list(scripts),
},
# Third-party requirements.
install_requires = [