aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortkikuchi <>2006-10-12 00:48:48 +0000
committertkikuchi <>2006-10-12 00:48:48 +0000
commitd9e93cef4ce6096698800d61768cf490b4833293 (patch)
tree253b2487ce24a1736b292070c848456d77ad9ec6
parent08fc6675c6b8d6358fcaf63dfa457bb0dcddf9ee (diff)
downloadmailman2-d9e93cef4ce6096698800d61768cf490b4833293.tar.gz
mailman2-d9e93cef4ce6096698800d61768cf490b4833293.tar.xz
mailman2-d9e93cef4ce6096698800d61768cf490b4833293.zip
With python2.5, importing JapaneseCodecs triggers LookupError because
'iso2022_jp' does not exist in japanese (but 'iso_2022_jp'). We try to test Japanese (and Korean) codecs before changing path order and do not import japanese/korean if the codecs already exist in python distribution. (as in 2.4 and 2.5) Importing japanese/korean is going away in mailman-2.2.
-rw-r--r--misc/paths.py.in21
1 files changed, 18 insertions, 3 deletions
diff --git a/misc/paths.py.in b/misc/paths.py.in
index c58492f5..3566a12c 100644
--- a/misc/paths.py.in
+++ b/misc/paths.py.in
@@ -35,6 +35,19 @@ exec_prefix = '@exec_prefix@'
if exec_prefix == '${prefix}':
exec_prefix = prefix
+# Check if ja/ko codecs are available before changing path.
+try:
+ s = unicode('OK', 'iso-2022-jp')
+ jaok = True
+except LookupError:
+ jaok = False
+
+try:
+ s = unicode('OK', 'euc-kr')
+ kook = True
+except LookupError:
+ kook = False
+
# Hack the path to include the parent directory of the $prefix/Mailman package
# directory.
sys.path.insert(0, prefix)
@@ -53,12 +66,14 @@ sys.path.append(sitedir)
# In a normal interactive Python environment, the japanese.pth and korean.pth
# files would be imported automatically. But because we inhibit the importing
# of the site module, we need to be explicit about importing these codecs.
-import japanese
+if not jaok:
+ import japanese
# As of KoreanCodecs 2.0.5, you had to do the second import to get the Korean
# codecs installed, however leave the first import in there in case an upgrade
# changes this.
-import korean
-import korean.aliases
+if not kook:
+ import korean
+ import korean.aliases
# Arabic and Hebrew (RFC-1556) encoding aliases. (temporary solution)
import encodings.aliases
encodings.aliases.aliases.update({