[Erp5-report] r29334 - /experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Sep 30 17:04:04 CEST 2009
Author: leonardo
Date: Wed Sep 30 17:04:03 2009
New Revision: 29334
URL: http://svn.erp5.org?rev=29334&view=rev
Log:
make Localizer actually work with itools 0.50.7
Modified:
experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/.gitignore
experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/LocalContent.py
experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/LocalFiles.py
experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/utils.py
Modified: experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/.gitignore
URL: http://svn.erp5.org/experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/.gitignore?rev=29334&r1=29333&r2=29334&view=diff
==============================================================================
--- experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/.gitignore [utf8] (original)
+++ experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/.gitignore [utf8] Wed Sep 30 17:04:03 2009
@@ -1,4 +1,6 @@
*.pyc
*.swp
+*~
+.svn
locale/*.mo
locale/*~
Modified: experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/LocalContent.py
URL: http://svn.erp5.org/experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/LocalContent.py?rev=29334&r1=29333&r2=29334&view=diff
==============================================================================
--- experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/LocalContent.py [utf8] (original)
+++ experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/LocalContent.py [utf8] Wed Sep 30 17:04:03 2009
@@ -215,9 +215,12 @@
security.declareProtected('Manage messages', 'xliff_export')
- def xliff_export(self, dst_lang, export_all=1, REQUEST, RESPONSE):
+ def xliff_export(self, dst_lang, export_all=1, REQUEST=None, RESPONSE=None):
""" Exports the content of the message catalog to an XLIFF file
"""
+ # only export_all is actually optional, but we need to preserve the
+ # parameter order
+ assert REQUEST is not None and RESPONSE is not None
from DateTime import DateTime
src_lang = self._default_language
Modified: experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/LocalFiles.py
URL: http://svn.erp5.org/experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/LocalFiles.py?rev=29334&r1=29333&r2=29334&view=diff
==============================================================================
--- experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/LocalFiles.py [utf8] (original)
+++ experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/LocalFiles.py [utf8] Wed Sep 30 17:04:03 2009
@@ -25,6 +25,7 @@
# Import from the Standard Library
import os
+import sys
# Import from itools
from itools import get_abspath
@@ -43,7 +44,8 @@
apply(LocalDTMLFile.inheritedAttribute('__init__'),
(self, name, _prefix), kw)
- domain = get_abspath(_prefix, 'locale')
+ domain = get_abspath('locale',
+ sys._getframe(1).f_globals.get('__name__'))
self.class_domain = domain
register_domain(domain, domain)
@@ -76,7 +78,8 @@
apply(LocalPageTemplateFile.inheritedAttribute('__init__'),
(self, name, _prefix), kw)
- domain = get_abspath(_prefix, 'locale')
+ domain = get_abspath('locale',
+ sys._getframe(1).f_globals.get('__name__'))
self.class_domain = domain
register_domain(domain, domain)
Modified: experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/utils.py
URL: http://svn.erp5.org/experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/utils.py?rev=29334&r1=29333&r2=29334&view=diff
==============================================================================
--- experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/utils.py [utf8] (original)
+++ experimental/erp5.buildout-zope-2.12/trunk/src/Products/Localizer/utils.py [utf8] Wed Sep 30 17:04:03 2009
@@ -17,7 +17,7 @@
# Import from itools
from itools import get_abspath
from itools.i18n import AcceptLanguageType
-from itools.gettext import register_domain, DomainAware as BaseDomainAware
+from itools.gettext import register_domain
# Import from Zope
from Globals import package_home
@@ -60,6 +60,44 @@
return lang
+# Copy of DomainAware from itools-0.20.8 since it has been removed in 0.50.0
+class BaseDomainAware(object):
+
+ class_domain = None
+
+
+ @classmethod
+ def get_languages(cls):
+ return NotImplementedError
+
+
+ @classmethod
+ def select_language(cls, languages=None):
+ if languages is None:
+ languages = cls.get_languages()
+
+ accept = get_accept()
+ return accept.select_language(languages)
+
+
+ @classmethod
+ def gettext(cls, message, language=None, domain=None):
+ if domain is None:
+ domain = cls.class_domain
+
+ if domain not in domains:
+ return message
+
+ domain = domains[domain]
+ if language is None:
+ languages = domain.get_languages()
+ language = cls.select_language(languages)
+
+ if language is None:
+ return message
+
+ return domain.gettext(message, language)
+
# Provide an API to access translations stored as MO files in the 'locale'
# directory. This code has been moved from Localizer.
@@ -77,7 +115,7 @@
class translation(DomainAware):
def __init__(self, namespace):
- domain = get_abspath(namespace, 'locale')
+ domain = get_abspath('locale')
self.class_domain = domain
register_domain(domain, domain)
More information about the Erp5-report
mailing list