[Zope-dev] KeyError in GlobalTranslationService.py
Russ Ferriday
russf at topia.com
Thu Jul 29 15:37:56 EDT 2004
I just submitted a patch for Plone 2.0.3
http://plone.org/collector/3329
that stops a KeyError from being triggered in
GlobalTranslationService.py when a msgid contains a "$"
I think that passing a translation key containing $ should not cause an
Error page.
So here's a patch for Zope that at least prevents the problem.
Translation Service dudes will probably pick big holes in it.
Oh, and traceback attached below. The msgid was Ca$hville, the title of
a doc.
--r.
diff GlobalTranslationService.py.orig GlobalTranslationService.py
28,31c28,35
< def repl(m, mapping=mapping):
< return ustr(mapping[m.group(m.lastindex)])
< cre = re.compile(r'\$(?:(%s)|\{(%s)\})' % (NAME_RE, NAME_RE))
< return cre.sub(repl, default or msgid)
---
> try:
> def repl(m, mapping=mapping):
> return ustr(mapping[m.group(m.lastindex)])
> cre = re.compile(r'\$(?:(%s)|\{(%s)\})' % (NAME_RE,
NAME_RE))
> return cre.sub(repl, default or msgid)
> except KeyError:
> return msgid
Traceback:
Site Error
An error was encountered while publishing this resource.
KeyError
Sorry, a site error occurred.
Traceback (innermost last):
* Module ZPublisher.Publish, line 163, in publish_module_standard
* Module ZPublisher.Publish, line 127, in publish
* Module Zope.App.startup, line 203, in zpublisher_exception_hook
* Module ZPublisher.Publish, line 100, in publish
* Module ZPublisher.mapply, line 88, in mapply
* Module ZPublisher.Publish, line 40, in call_object
* Module Shared.DC.Scripts.Bindings, line 306, in __call__
* Module Shared.DC.Scripts.Bindings, line 343, in _bindAndExec
* Module Products.CMFCore.FSPageTemplate, line 191, in _exec
* Module Products.CMFCore.FSPageTemplate, line 124, in pt_render
* Module Products.PageTemplates.PageTemplate, line 96, in pt_render
<FSPageTemplate at /testdollarproblem/document_view used for
/testdollarproblem/foo>
* Module TAL.TALInterpreter, line 189, in __call__
* Module TAL.TALInterpreter, line 233, in interpret
* Module TAL.TALInterpreter, line 663, in do_useMacro
* Module TAL.TALInterpreter, line 233, in interpret
* Module TAL.TALInterpreter, line 408, in do_optTag_tal
* Module TAL.TALInterpreter, line 393, in do_optTag
* Module TAL.TALInterpreter, line 388, in no_tag
* Module TAL.TALInterpreter, line 233, in interpret
* Module TAL.TALInterpreter, line 663, in do_useMacro
* Module TAL.TALInterpreter, line 233, in interpret
* Module TAL.TALInterpreter, line 605, in do_loop_tal
* Module TAL.TALInterpreter, line 233, in interpret
* Module TAL.TALInterpreter, line 408, in do_optTag_tal
* Module TAL.TALInterpreter, line 393, in do_optTag
* Module TAL.TALInterpreter, line 388, in no_tag
* Module TAL.TALInterpreter, line 233, in interpret
* Module TAL.TALInterpreter, line 629, in do_condition
* Module TAL.TALInterpreter, line 233, in interpret
* Module TAL.TALInterpreter, line 552, in do_insertTranslation
* Module TAL.TALInterpreter, line 615, in translate
* Module Products.PageTemplates.TALES, line 263, in translate
* Module Products.PageTemplates.GlobalTranslationService, line 31,
in
translate
* Module Products.PageTemplates.GlobalTranslationService, line 29,
in repl
KeyError: 'hville' (Also, an error occurred while attempting to render
the
standard error message.)
—————————————————————
Russ Ferriday
Solution Workshops for Plone
(+44) (0) 7789 338868
http://www.solutionworkshops.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 3891 bytes
Desc: not available
Url : http://mail.zope.org/pipermail/zope-dev/attachments/20040729/4b399e20/attachment.bin
More information about the Zope-Dev
mailing list