# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #
#######################################################################################
""" Plinn public utilities
-$Id: utils.py 1534 2009-09-07 11:05:57Z pin $
-$URL: http://svn.cri.ensmp.fr/svn/Plinn/branches/CMF-2.1/utils.py $
+
+
"""
import string
from Products.CMFCore.exceptions import BadRequest
from Products.Utf8Splitter.Utf8Splitter import Utf8Utils
from Globals import REPLACEABLE, NOT_REPLACEABLE, UNIQUE
-#from Products.PageTemplates.GlobalTranslationService import getGlobalTranslationService
+from zope.i18n import translate as i18ntranslate
from zope.i18n.interfaces import IUserPreferredLanguages
from zope.i18nmessageid import MessageFactory
from zope.component.interfaces import ComponentLookupError
def formatFullName(memberName, memberGivenName, memberId, nameBefore=1) :
- memberFullName = ''
+ memberName = memberName.decode('utf-8')
+ memberGivenName = memberGivenName.decode('utf-8')
+ memberFullName = u''
if memberName and memberGivenName :
if nameBefore :
- memberFullName = memberName.capitalize() + ' ' + capitalizeCompoundGivenName(memberGivenName)
+ memberFullName = memberName.upper() + ' ' + capitalizeCompoundGivenName(memberGivenName)
else :
- memberFullName = capitalizeCompoundGivenName(memberGivenName) + ' ' + memberName.capitalize()
+ memberFullName = capitalizeCompoundGivenName(memberGivenName) + ' ' + memberName.upper()
elif memberName and not memberGivenName :
- memberFullName = memberName.capitalize()
+ memberFullName = memberName.upper()
elif not memberName and memberGivenName :
memberFullName = capitalizeCompoundGivenName(memberGivenName)
else :
memberFullName = memberId
- return memberFullName
+ return memberFullName.encode('utf-8')
# from OFS.ObjectManager #63
bad_url_chars = re.compile(r'[^a-zA-Z0-9-_~,.$\(\)@]')
def translate(message, context):
""" Translate i18n message.
"""
- # TODO : localisation.
- #GTS = getGlobalTranslationService()
if isinstance(message, Exception):
try:
message = message[0]
except (TypeError, IndexError):
pass
- return message
- return GTS.translate('plinn', message, context=context)
+ return i18ntranslate(message, domain='plinn', context=context.REQUEST)
security.declarePublic('desacc')
desacc = Utf8Utils.desacc