[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[OpenTAL-checkins] opental/PlacelessTranslationService PlacelessTr...
From: |
Fernando Lalo Martins |
Subject: |
[OpenTAL-checkins] opental/PlacelessTranslationService PlacelessTr... |
Date: |
Tue, 29 Jul 2003 17:33:39 -0400 |
CVSROOT: /cvsroot/opental
Module name: opental
Branch:
Changes by: Fernando Lalo Martins <address@hidden> 03/07/29 17:33:39
Modified files:
PlacelessTranslationService: PlacelessTranslationService.py
Log message:
this should kill the dependency on PAX and make it work better and
faster with ZPT
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/opental/opental/PlacelessTranslationService/PlacelessTranslationService.py.diff?tr1=1.22&tr2=1.23&r1=text&r2=text
Patches:
Index: opental/PlacelessTranslationService/PlacelessTranslationService.py
diff -u opental/PlacelessTranslationService/PlacelessTranslationService.py:1.22
opental/PlacelessTranslationService/PlacelessTranslationService.py:1.23
--- opental/PlacelessTranslationService/PlacelessTranslationService.py:1.22
Tue Jul 29 17:31:35 2003
+++ opental/PlacelessTranslationService/PlacelessTranslationService.py Tue Jul
29 17:33:39 2003
@@ -17,7 +17,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
"""Placeless Translation Service for providing I18n to file-based code.
-$Id: PlacelessTranslationService.py,v 1.22 2003/07/29 21:31:35 lalo Exp $
+$Id: PlacelessTranslationService.py,v 1.23 2003/07/29 21:33:39 lalo Exp $
"""
import sys, re, zLOG, Globals
@@ -32,11 +32,6 @@
except:
def XML(v):
return str(v)
-try:
- True
-except NameError:
- True=1
- False=0
def log(msg, severity=zLOG.INFO, detail='', error=None):
if type(msg) is UnicodeType:
@@ -130,7 +125,7 @@
self._delObject(catalog.id)
except:
pass
- self._setObject(catalog.id, catalog, set_owner=False)
+ self._setObject(catalog.id, catalog, set_owner=0)
log('adding %s: %s' % (catalog.id, catalog.title))
self._registerMessageCatalog(catalog)
@@ -183,14 +178,7 @@
pass
if target_language is None:
- if context is None:
- raise TypeError, 'No destination language'
- else:
- langs = [m[0] for m in self._catalogs.keys() if m[1] == domain]
- for fallback in self._fallbacks:
- if fallback not in langs:
- langs.append(fallback)
- target_language = self.negotiate(langs, context)
+ target_language = self.negotiate_language(context, domain)
# Get the translation. Use the specified fallbacks if this fails
catalog_names = self._catalogs.get((target_language, domain), ())
@@ -228,6 +216,17 @@
text = self.interpolate(text, mapping)
return text
+ def negotiate_language(self, context, domain):
+ if context is None:
+ raise TypeError, 'No destination language'
+ else:
+ langs = [m[0] for m in self._catalogs.keys() if m[1] == domain]
+ for fallback in self._fallbacks:
+ if fallback not in langs:
+ langs.append(fallback)
+ target_language = self.negotiate(langs, context)
+ return target_language
+
def getDomain(self, domain):
"""
"""
@@ -252,6 +251,12 @@
# Find all the spots we want to substitute
to_replace = _interp_regex.findall(text)
+ # ZPT (string) or OpenPT (unicode)?
+ if type(text) is StringType:
+ conv = str
+ else:
+ conv = XML
+
# Now substitute with the variables in mapping
for string in to_replace:
var = _get_var_regex.findall(string)[0]
@@ -266,7 +271,7 @@
# FIXME: we shouldn't do this. We should instead
# return a list. But i'm not sure about how to use
# the regex to split the text.
- value = XML(value)
+ value = conv(value)
text = text.replace(string, value)
return text
- [OpenTAL-checkins] opental/PlacelessTranslationService PlacelessTr...,
Fernando Lalo Martins <=