X-Git-Url: https://scm.cri.ensmp.fr/git/Plinn.git/blobdiff_plain/3e0a2c257d49fb162da9c70d2f70194036235166..fc6fa1ea0a3c1369acbf9078d2cd588de5f9172f:/utils.py diff --git a/utils.py b/utils.py index a2586c4..863b94e 100755 --- a/utils.py +++ b/utils.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- ####################################################################################### # Plinn - http://plinn.org # # Copyright (C) 2005-2007 Benoît PIN # @@ -17,8 +18,8 @@ # 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 @@ -35,7 +36,7 @@ from Products.CMFCore.utils import getToolByName, getUtilityByInterfaceName 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 @@ -86,15 +87,17 @@ def capitalizeCompoundGivenName(givenName) : 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) @@ -102,7 +105,7 @@ def formatFullName(memberName, memberGivenName, memberId, nameBefore=1) : else : memberFullName = memberId - return memberFullName + return memberFullName.encode('utf-8') # from OFS.ObjectManager #63 bad_url_chars = re.compile(r'[^a-zA-Z0-9-_~,.$\(\)@]') @@ -194,13 +197,12 @@ security.declarePublic('translate') def translate(message, context): """ Translate i18n message. """ - GTS = getGlobalTranslationService() if isinstance(message, Exception): try: message = message[0] except (TypeError, IndexError): pass - return GTS.translate('plinn', message, context=context) + return i18ntranslate(message, domain='plinn', context=context.REQUEST) security.declarePublic('desacc') desacc = Utf8Utils.desacc