mò &á¸Ec@s¯dkZdklZdklZdklZeiƒZdfd„ƒYZ e ƒZ dfd„ƒYZ dfd „ƒYZ e d ƒZ e d ƒZ e d ƒZe ƒZ dS( N(s implements(sIUserPreferredCharsets(s IUnicodeEncodingConflictResolvert&DefaultUnicodeEncodingConflictResolvercBs!tZdZeeƒd„ZRS(s¨ This resolver implements the old-style behavior and will raise an exception in case of the string 'text' can't be converted propertly to unicode. cCs t|ƒS(N(tunicodettext(tselftcontextRt expression((tM/data/zmath/zope/lib/python/Products/PageTemplates/unicodeconflictresolver.pytresolves(t__name__t __module__t__doc__t implementst IUnicodeEncodingConflictResolverR(((RRs  t!Z2UnicodeEncodingConflictResolvercBs-tZdZeeƒdd„Zd„ZRS(s˜ This resolver tries to lookup the encoding from the 'management_page_charset' property and defaults to sys.getdefaultencoding(). tstrictcCs ||_dS(N(tmodeR(RR((Rt__init__-scCsMyt|ƒSWn8tj o,t|dtƒ}t|||iƒSnXdS(Ntmanagement_page_charset( RRtUnicodeDecodeErrortgetattrRtdefault_encodingtencodingRR(RRRRR((RR0s (RR R R R RR(((RR %s   tPreferredCharsetResolvercBs!tZdZeeƒd„ZRS(se A resolver that tries use the encoding information from the HTTP_ACCEPT_CHARSET header. cCsÎ|i}t|ddƒ}|djoVt|ƒiƒ}t|ddƒ}|o|i |ƒn|i t ƒ||_ nxI|D]A}|djoq…nyt ||ƒSWq…tj oq…Xq…W|S(Nt__zpt_available_charsetsRt*(RtREQUESTtrequestRtNonetcharsetstIUserPreferredCharsetstgetPreferredCharsetstmanagement_charsettappendRt1_PreferredCharsetResolver__zpt_available_charsetstencRRR(RRRRR"RRR((RR?s$      (RR R R R R(((RR8s  Rtreplacetignore(tsystzope.interfaceR tzope.i18n.interfacesRt!Products.PageTemplates.interfacesR tgetdefaultencodingRRR Rt%StrictUnicodeEncodingConflictResolvert(ReplacingUnicodeEncodingConflictResolvert'IgnoringUnicodeEncodingConflictResolver( R R,R*R+R RRR%RRR ((Rt?s      %