diff options
51 files changed, 24 insertions, 110 deletions
diff --git a/Mailman/MTA/Manual.py b/Mailman/MTA/Manual.py index 6597f1ea0..2b43d6c64 100644 --- a/Mailman/MTA/Manual.py +++ b/Mailman/MTA/Manual.py @@ -29,8 +29,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.queue import Switchboard -__i18n_templates__ = True - # no-ops for interface compliance diff --git a/Mailman/app/membership.py b/Mailman/app/membership.py index 6d2583098..806b98394 100644 --- a/Mailman/app/membership.py +++ b/Mailman/app/membership.py @@ -29,7 +29,6 @@ from Mailman.configuration import config from Mailman.interfaces import DeliveryMode, MemberRole _ = i18n._ -__i18n_templates__ = True diff --git a/Mailman/app/moderator.py b/Mailman/app/moderator.py index 926c52a2d..43ce5b7e3 100644 --- a/Mailman/app/moderator.py +++ b/Mailman/app/moderator.py @@ -43,7 +43,6 @@ from Mailman.interfaces import Action, DeliveryMode, RequestType from Mailman.queue import Switchboard _ = i18n._ -__i18n_templates__ = True vlog = logging.getLogger('mailman.vette') slog = logging.getLogger('mailman.subscribe') diff --git a/Mailman/app/registrar.py b/Mailman/app/registrar.py index 3c089966b..754c0fb8f 100644 --- a/Mailman/app/registrar.py +++ b/Mailman/app/registrar.py @@ -34,8 +34,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.interfaces import IDomain, IPendable, IRegistrar -__i18n_templates__ = True - class PendableRegistration(dict): diff --git a/Mailman/app/styles.py b/Mailman/app/styles.py index 22cac9d82..92c8bd39b 100644 --- a/Mailman/app/styles.py +++ b/Mailman/app/styles.py @@ -37,8 +37,6 @@ from Mailman.i18n import _ from Mailman.interfaces import ( Action, IStyle, IStyleManager, NewsModeration, Personalization) -__i18n_templates__ = True - class DefaultStyle: diff --git a/Mailman/bin/add_members.py b/Mailman/bin/add_members.py index 70c6358a9..6aac2ad71 100644 --- a/Mailman/bin/add_members.py +++ b/Mailman/bin/add_members.py @@ -36,7 +36,6 @@ from Mailman.initialize import initialize from Mailman.interfaces import DeliveryMode _ = i18n._ -__i18n_templates__ = True diff --git a/Mailman/bin/arch.py b/Mailman/bin/arch.py index 14f3b576f..7e39e5290 100644 --- a/Mailman/bin/arch.py +++ b/Mailman/bin/arch.py @@ -33,7 +33,6 @@ from Mailman.configuration import config from Mailman.initialize import initialize _ = i18n._ -__i18n_templates__ = True diff --git a/Mailman/bin/bounces.py b/Mailman/bin/bounces.py index 3e6ea7322..ac4ea43e3 100644 --- a/Mailman/bin/bounces.py +++ b/Mailman/bin/bounces.py @@ -32,8 +32,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.queue import Switchboard -__i18n_templates__ = True - def main(): diff --git a/Mailman/bin/bumpdigests.py b/Mailman/bin/bumpdigests.py index 4345c25a6..fd8e8d460 100644 --- a/Mailman/bin/bumpdigests.py +++ b/Mailman/bin/bumpdigests.py @@ -28,8 +28,6 @@ from Mailman.i18n import _ import signal signal.signal(signal.SIGCHLD, signal.SIG_DFL) -__i18n_templates__ = True - def parseargs(): diff --git a/Mailman/bin/change_pw.py b/Mailman/bin/change_pw.py index 8e1c633bf..72c673963 100644 --- a/Mailman/bin/change_pw.py +++ b/Mailman/bin/change_pw.py @@ -30,8 +30,6 @@ from Mailman import i18n from Mailman.configuration import config _ = i18n._ -__i18n_templates__ = True - SPACE = ' ' diff --git a/Mailman/bin/check_perms.py b/Mailman/bin/check_perms.py index 128a86cec..efa4f0886 100644 --- a/Mailman/bin/check_perms.py +++ b/Mailman/bin/check_perms.py @@ -28,8 +28,6 @@ from Mailman import Version from Mailman.configuration import config from Mailman.i18n import _ -__i18n_templates__ = True - # XXX Need to check the archives/private/*/database/* files diff --git a/Mailman/bin/checkdbs.py b/Mailman/bin/checkdbs.py index 184c30946..6c887539e 100644 --- a/Mailman/bin/checkdbs.py +++ b/Mailman/bin/checkdbs.py @@ -30,7 +30,6 @@ from Mailman.app.requests import handle_request from Mailman.configuration import config _ = i18n._ -__i18n_templates__ = True # Work around known problems with some RedHat cron daemons import signal diff --git a/Mailman/bin/cleanarch.py b/Mailman/bin/cleanarch.py index e4b95950f..7fec04373 100644 --- a/Mailman/bin/cleanarch.py +++ b/Mailman/bin/cleanarch.py @@ -25,7 +25,6 @@ import optparse from Mailman import Version from Mailman.i18n import _ -__i18n_templates = True cre = re.compile(mailbox.UnixMailbox._fromlinepattern) # From RFC 2822, a header field name must contain only characters from 33-126 diff --git a/Mailman/bin/config_list.py b/Mailman/bin/config_list.py index b3f420c80..75e8f573a 100644 --- a/Mailman/bin/config_list.py +++ b/Mailman/bin/config_list.py @@ -28,7 +28,6 @@ from Mailman import i18n from Mailman.configuration import config _ = i18n._ -__i18n_templates__ = True NL = '\n' nonasciipat = re.compile(r'[\x80-\xff]') diff --git a/Mailman/bin/confirm.py b/Mailman/bin/confirm.py index 170b92300..ff4a83708 100644 --- a/Mailman/bin/confirm.py +++ b/Mailman/bin/confirm.py @@ -32,8 +32,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.queue import Switchboard -__i18n_templates__ = True - def main(): diff --git a/Mailman/bin/disabled.py b/Mailman/bin/disabled.py index ac2f158f6..26c001f4a 100644 --- a/Mailman/bin/disabled.py +++ b/Mailman/bin/disabled.py @@ -29,7 +29,6 @@ from Mailman.Bouncer import _BounceInfo from Mailman.configuration import config from Mailman.i18n import _ -__i18n_templates__ = True # Work around known problems with some RedHat cron daemons import signal diff --git a/Mailman/bin/dumpdb.py b/Mailman/bin/dumpdb.py index 0b69b868f..21db632b3 100644 --- a/Mailman/bin/dumpdb.py +++ b/Mailman/bin/dumpdb.py @@ -27,7 +27,6 @@ from Mailman import Version from Mailman.configuration import config from Mailman.i18n import _ -__i18n_templates__ = True COMMASPACE = ', ' diff --git a/Mailman/bin/export.py b/Mailman/bin/export.py index fe43d6811..dccedaa55 100644 --- a/Mailman/bin/export.py +++ b/Mailman/bin/export.py @@ -37,8 +37,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.initialize import initialize -__i18n_templates__ = True - SPACE = ' ' TYPES = { diff --git a/Mailman/bin/find_member.py b/Mailman/bin/find_member.py index 4dae2e5f9..a0c198214 100644 --- a/Mailman/bin/find_member.py +++ b/Mailman/bin/find_member.py @@ -26,8 +26,6 @@ from Mailman.configuration import config from Mailman.i18n import _ -__i18n_templates__ = True - AS_MEMBER = 0x01 AS_OWNER = 0x02 diff --git a/Mailman/bin/gate_news.py b/Mailman/bin/gate_news.py index 16e8b16bb..968491df1 100644 --- a/Mailman/bin/gate_news.py +++ b/Mailman/bin/gate_news.py @@ -49,8 +49,6 @@ log = None class _ContinueLoop(Exception): pass -__i18n_templates__ = True - def parseargs(): diff --git a/Mailman/bin/genaliases.py b/Mailman/bin/genaliases.py index cf810905c..5bb985e71 100644 --- a/Mailman/bin/genaliases.py +++ b/Mailman/bin/genaliases.py @@ -26,8 +26,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.initialize import initialize -__i18n_templates__ = True - def parseargs(): diff --git a/Mailman/bin/import.py b/Mailman/bin/import.py index 0d49963bd..276c2a299 100644 --- a/Mailman/bin/import.py +++ b/Mailman/bin/import.py @@ -35,7 +35,6 @@ from Mailman.MailList import MailList from Mailman.i18n import _ from Mailman.initialize import initialize -__i18n_templates__ = True OPTS = None diff --git a/Mailman/bin/inject.py b/Mailman/bin/inject.py index a3b4a372e..45f3be54d 100644 --- a/Mailman/bin/inject.py +++ b/Mailman/bin/inject.py @@ -25,8 +25,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.inject import inject -__i18n_templates__ = True - def parseargs(): diff --git a/Mailman/bin/join.py b/Mailman/bin/join.py index 329037c10..2f868a372 100644 --- a/Mailman/bin/join.py +++ b/Mailman/bin/join.py @@ -32,8 +32,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.queue import Switchboard -__i18n_templates__ = True - def main(): diff --git a/Mailman/bin/leave.py b/Mailman/bin/leave.py index d9091cee4..d3a990e57 100644 --- a/Mailman/bin/leave.py +++ b/Mailman/bin/leave.py @@ -32,8 +32,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.queue import Switchboard -__i18n_templates__ = True - def main(): diff --git a/Mailman/bin/list_lists.py b/Mailman/bin/list_lists.py index 438461042..37077057f 100644 --- a/Mailman/bin/list_lists.py +++ b/Mailman/bin/list_lists.py @@ -23,8 +23,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.initialize import initialize -__i18n_templates__ = True - def parseargs(): diff --git a/Mailman/bin/list_members.py b/Mailman/bin/list_members.py index 6738157e4..05138f2ad 100644 --- a/Mailman/bin/list_members.py +++ b/Mailman/bin/list_members.py @@ -28,7 +28,6 @@ from Mailman.i18n import _ from Mailman.initialize import initialize from Mailman.interfaces import DeliveryStatus -__i18n_templates__ = True ENC = sys.getdefaultencoding() COMMASPACE = ', ' diff --git a/Mailman/bin/list_owners.py b/Mailman/bin/list_owners.py index fe273a000..c73da5e30 100644 --- a/Mailman/bin/list_owners.py +++ b/Mailman/bin/list_owners.py @@ -25,9 +25,6 @@ from Mailman.i18n import _ from Mailman.initialize import initialize -__i18n_templates__ = True - - def parseargs(): parser = optparse.OptionParser(version=Version.MAILMAN_VERSION, diff --git a/Mailman/bin/mailmanctl.py b/Mailman/bin/mailmanctl.py index 40e7e7beb..3be5d1849 100644 --- a/Mailman/bin/mailmanctl.py +++ b/Mailman/bin/mailmanctl.py @@ -34,7 +34,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.initialize import initialize -__i18n_templates__ = True COMMASPACE = ', ' DOT = '.' diff --git a/Mailman/bin/make_instance.py b/Mailman/bin/make_instance.py index 82a54a9d1..26e799470 100644 --- a/Mailman/bin/make_instance.py +++ b/Mailman/bin/make_instance.py @@ -33,7 +33,7 @@ from Mailman import Defaults from Mailman.Version import MAILMAN_VERSION from Mailman.i18n import _ -__i18n_templates__ = True + SPACE = ' ' DATA_DIR = os.path.dirname(Mailman.data.__file__) diff --git a/Mailman/bin/mmsitepass.py b/Mailman/bin/mmsitepass.py index 2d95b5d63..df32cfe23 100644 --- a/Mailman/bin/mmsitepass.py +++ b/Mailman/bin/mmsitepass.py @@ -26,8 +26,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.initialize import initialize -__i18n_templates__ = True - def parseargs(): diff --git a/Mailman/bin/newlist.py b/Mailman/bin/newlist.py index 7bafc4430..f63e46724 100644 --- a/Mailman/bin/newlist.py +++ b/Mailman/bin/newlist.py @@ -33,7 +33,6 @@ from Mailman.configuration import config from Mailman.initialize import initialize _ = i18n._ -__i18n_templates__ = True diff --git a/Mailman/bin/nightly_gzip.py b/Mailman/bin/nightly_gzip.py index 729fdf3ad..30131fd61 100644 --- a/Mailman/bin/nightly_gzip.py +++ b/Mailman/bin/nightly_gzip.py @@ -30,8 +30,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.initialize import initialize -__i18n_templates__ = True - def parseargs(): diff --git a/Mailman/bin/owner.py b/Mailman/bin/owner.py index cd3aea6ae..498c77e22 100644 --- a/Mailman/bin/owner.py +++ b/Mailman/bin/owner.py @@ -35,8 +35,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.queue import Switchboard -__i18n_templates__ = True - def main(): diff --git a/Mailman/bin/post.py b/Mailman/bin/post.py index 0ca392ad5..a560133c5 100644 --- a/Mailman/bin/post.py +++ b/Mailman/bin/post.py @@ -35,8 +35,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.queue import Switchboard -__i18n_templates__ = True - def main(): diff --git a/Mailman/bin/qrunner.py b/Mailman/bin/qrunner.py index d62ad3a24..91ecb2ca3 100644 --- a/Mailman/bin/qrunner.py +++ b/Mailman/bin/qrunner.py @@ -26,7 +26,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.initialize import initialize -__i18n_templates__ = True COMMASPACE = ', ' QRUNNER_SHORTCUTS = {} diff --git a/Mailman/bin/request.py b/Mailman/bin/request.py index 1b1e3c6c8..478337976 100644 --- a/Mailman/bin/request.py +++ b/Mailman/bin/request.py @@ -32,8 +32,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.queue import Switchboard -__i18n_templates__ = True - def main(): diff --git a/Mailman/bin/rmlist.py b/Mailman/bin/rmlist.py index b6110507b..c61df2a85 100644 --- a/Mailman/bin/rmlist.py +++ b/Mailman/bin/rmlist.py @@ -29,9 +29,6 @@ from Mailman.i18n import _ from Mailman.initialize import initialize -__i18n_templates__ = True - - def parseargs(): parser = optparse.OptionParser(version=Version.MAILMAN_VERSION, diff --git a/Mailman/bin/senddigests.py b/Mailman/bin/senddigests.py index 4b0d3b3bd..99a7734cf 100644 --- a/Mailman/bin/senddigests.py +++ b/Mailman/bin/senddigests.py @@ -28,8 +28,6 @@ from Mailman.initialize import initialize import signal signal.signal(signal.SIGCHLD, signal.SIG_DFL) -__i18n_templates__ = True - def parseargs(): diff --git a/Mailman/bin/set_members.py b/Mailman/bin/set_members.py index 334287fcc..66f0e62b3 100644 --- a/Mailman/bin/set_members.py +++ b/Mailman/bin/set_members.py @@ -32,7 +32,6 @@ from Mailman.interfaces import DeliveryMode _ = i18n._ -__i18n_templates__ = True DELIVERY_MODES = { 'regular': DeliveryMode.regular, diff --git a/Mailman/bin/testall.py b/Mailman/bin/testall.py index b722e427c..5e27f1838 100644 --- a/Mailman/bin/testall.py +++ b/Mailman/bin/testall.py @@ -38,7 +38,6 @@ from Mailman.i18n import _ from Mailman.initialize import initialize_1, initialize_2 basedir = None -__i18n_templates__ = True diff --git a/Mailman/bin/unshunt.py b/Mailman/bin/unshunt.py index b4352694a..115942301 100644 --- a/Mailman/bin/unshunt.py +++ b/Mailman/bin/unshunt.py @@ -23,8 +23,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.queue import Switchboard -__i18n_templates__ = True - def parseargs(): diff --git a/Mailman/bin/update.py b/Mailman/bin/update.py index 5ab165fad..08caf37f7 100644 --- a/Mailman/bin/update.py +++ b/Mailman/bin/update.py @@ -40,7 +40,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.initialize import initialize -__i18n_templates__ = True FRESH = 0 NOTFRESH = -1 diff --git a/Mailman/bin/version.py b/Mailman/bin/version.py index c50de1b2b..917d1d9e6 100644 --- a/Mailman/bin/version.py +++ b/Mailman/bin/version.py @@ -20,8 +20,6 @@ import optparse from Mailman import Version from Mailman.i18n import _ -__i18n_templates__ = True - def parseargs(): diff --git a/Mailman/bin/withlist.py b/Mailman/bin/withlist.py index 03cc4be59..3b76d0fe2 100644 --- a/Mailman/bin/withlist.py +++ b/Mailman/bin/withlist.py @@ -26,8 +26,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.initialize import initialize -__i18n_templates__ = True - LAST_MLIST = None VERBOSE = True diff --git a/Mailman/chains/hold.py b/Mailman/chains/hold.py index 7d4c64d45..3526345fd 100644 --- a/Mailman/chains/hold.py +++ b/Mailman/chains/hold.py @@ -21,7 +21,6 @@ from __future__ import with_statement __all__ = ['HoldChain'] __metaclass__ = type -__i18n_templates__ = True import logging diff --git a/Mailman/i18n.py b/Mailman/i18n.py index 58fe12c76..71c008b07 100644 --- a/Mailman/i18n.py +++ b/Mailman/i18n.py @@ -94,29 +94,24 @@ if _translation is None: def _(s): if s == '': return u'' - assert s - # Do translation of the given string into the current language, and do - # Ping-string interpolation into the resulting string. + assert s, 'Cannot translate: %s' % s + # Do translation of the given string into the current language, and do PEP + # 292 style $-string interpolation into the resulting string. # # This lets you write something like: # # now = time.ctime(time.time()) - # print _('The current time is: %(now)s') + # print _('The current time is: $now') # # and have it Just Work. Note that the lookup order for keys in the # original string is 1) locals dictionary, 2) globals dictionary. # - # We inspect the frame's globals to see if __i18n_templates__ is set. If - # so, we use string.Template style $-variables instead of more traditional - # %-strings. - # - # Get the frame of the caller + # Get the frame of the caller. frame = sys._getframe(1) # A `safe' dictionary is used so we won't get an exception if there's a # missing key in the dictionary. d = frame.f_globals.copy() d.update(frame.f_locals) - use_templates = d.get('__i18n_templates__', False) # Mailman must be unicode safe internally (i.e. all strings inside Mailman # must be unicodes). The translation service is one boundary to the # outside world, so to honor this constraint, make sure that all strings @@ -127,11 +122,7 @@ def _(s): for k, v in d.items(): if isinstance(v, str): d[k] = unicode(v, charset, 'replace') - # Are we using $-strings or %-strings? - if use_templates: - translated_string = Template(tns).safe_substitute(attrdict(d)) - else: - translated_string = SafeDict(d, charset=charset).interpolate(tns) + translated_string = Template(tns).safe_substitute(attrdict(d)) if isinstance(translated_string, str): translated_string = unicode(translated_string, charset) return translated_string diff --git a/Mailman/pipeline/acknowledge.py b/Mailman/pipeline/acknowledge.py index 5bbbf52dc..d0e9d0093 100644 --- a/Mailman/pipeline/acknowledge.py +++ b/Mailman/pipeline/acknowledge.py @@ -33,8 +33,6 @@ from Mailman.configuration import config from Mailman.i18n import _ from Mailman.interfaces import IHandler -__i18n_templates__ = True - class Acknowledge: diff --git a/Mailman/pipeline/replybot.py b/Mailman/pipeline/replybot.py index a75f79647..508c197fd 100644 --- a/Mailman/pipeline/replybot.py +++ b/Mailman/pipeline/replybot.py @@ -33,9 +33,8 @@ from Mailman import Utils from Mailman.i18n import _ from Mailman.interfaces import IHandler -log = logging.getLogger('mailman.error') -__i18n_templates__ = True +log = logging.getLogger('mailman.error') NODELTA = datetime.timedelta() diff --git a/Mailman/pipeline/scrubber.py b/Mailman/pipeline/scrubber.py index 5552a60fc..6e927aebf 100644 --- a/Mailman/pipeline/scrubber.py +++ b/Mailman/pipeline/scrubber.py @@ -203,8 +203,8 @@ def process(mlist, msg, msgdata=None): filename = Utils.oneline(filename, lcset) replace_payload_by_text(part, _("""\ An embedded and charset-unspecified text was scrubbed... -Name: %(filename)s -URL: %(url)s +Name: $filename +URL: $url """), lcset) elif ctype == 'text/html' and isinstance(sanitize, int): if sanitize == 0: @@ -225,7 +225,7 @@ URL: %(url)s url = save_attachment(mlist, part, dir, filter_html=False) replace_payload_by_text(part, _("""\ An HTML attachment was scrubbed... -URL: %(url)s +URL: $url """), lcset) else: # HTML-escape it and store it as an attachment, but make it @@ -246,7 +246,7 @@ URL: %(url)s url = save_attachment(mlist, part, dir, filter_html=False) replace_payload_by_text(part, _("""\ An HTML attachment was scrubbed... -URL: %(url)s +URL: $url """), lcset) elif ctype == 'message/rfc822': # This part contains a submessage, so it too needs scrubbing @@ -258,11 +258,11 @@ URL: %(url)s size = len(str(submsg)) replace_payload_by_text(part, _("""\ An embedded message was scrubbed... -From: %(who)s -Subject: %(subject)s -Date: %(date)s -Size: %(size)s -URL: %(url)s +From: $who +Subject: $subject +Date: $date +Size: $size +URL: $url """), lcset) # If the message isn't a multipart, then we'll strip it out as an # attachment that would have to be separately downloaded. Pipermail @@ -286,11 +286,11 @@ URL: %(url)s filename = Utils.oneline(filename, lcset) replace_payload_by_text(part, _("""\ A non-text attachment was scrubbed... -Name: %(filename)s -Type: %(ctype)s -Size: %(size)d bytes -Desc: %(desc)s -URL: %(url)s +Name: $filename +Type: $ctype +Size: $size bytes +Desc: $desc +URL: $url """), lcset) outer = False # We still have to sanitize multipart messages to flat text because @@ -321,7 +321,7 @@ URL: %(url)s # All parts should be scrubbed to text/plain by now. partctype = part.get_content_type() if partctype <> 'text/plain': - text.append(_('Skipped content of type %(partctype)s\n')) + text.append(_('Skipped content of type $partctype\n')) continue try: t = part.get_payload(decode=True) or '' diff --git a/Mailman/pipeline/to_digest.py b/Mailman/pipeline/to_digest.py index 3da5dda07..3392dc4dc 100644 --- a/Mailman/pipeline/to_digest.py +++ b/Mailman/pipeline/to_digest.py @@ -60,8 +60,8 @@ from Mailman.pipeline.scrubber import process as scrubber from Mailman.interfaces import DeliveryMode, DeliveryStatus, IHandler from Mailman.queue import Switchboard + _ = i18n._ -__i18n_templates__ = True UEMPTYSTRING = u'' EMPTYSTRING = '' |
