[Zope3-dev] What if HTTP_ACCEPT_LANGUAGE is not set?

Guido van Rossum guido@python.org
Tue, 18 Jun 2002 08:17:10 -0400


When I use urllib.urlopen(), the Accept-Language header is not set.
This means I get a KeyError when requesting a page that involves i18n
(apparently including the z3 default home page).  Please fix this!

Sample traceback:

<html><head><title>KeyError</title></head>
<body><h2>KeyError</h2>
<p>Traceback (innermost last):
<ul>
<li>  Module Zope.Publisher.Publish, line 39, in publish</li>
<li>  Module Zope.App.ZopePublication.ZopePublication, line 117, in callObject</
li>
<li>  Module Zope.Publisher.mapply, line 106, in mapply<br />
__traceback_info__: &lt;security proxied Zope.App.PageTemplate.ViewPageTemplateF
ile.BoundPageTemplate instance at 0x407635cc&gt;</li>
<li>  Module Zope.App.PageTemplate.ViewPageTemplateFile, line 64, in __call__</l
i>
<li>  Module Zope.App.PageTemplate.ViewPageTemplateFile, line 43, in __call__</l
i>
<li>  Module Zope.PageTemplate.PageTemplate, line 113, in pt_render</li>
<li>  Module Zope.TAL.TALInterpreter, line 164, in __call__</li>
<li>  Module Zope.TAL.TALInterpreter, line 203, in interpret</li>
<li>  Module Zope.TAL.TALInterpreter, line 657, in do_useMacro</li>
<li>  Module Zope.TAL.TALInterpreter, line 203, in interpret</li>
<li>  Module Zope.TAL.TALInterpreter, line 680, in do_defineSlot</li>
<li>  Module Zope.TAL.TALInterpreter, line 203, in interpret</li>
<li>  Module Zope.TAL.TALInterpreter, line 623, in do_condition</li>
<li>  Module Zope.TAL.TALInterpreter, line 203, in interpret</li>
<li>  Module Zope.TAL.TALInterpreter, line 376, in do_optTag_tal</li>
<li>  Module Zope.TAL.TALInterpreter, line 361, in do_optTag</li>
<li>  Module Zope.TAL.TALInterpreter, line 356, in no_tag</li>
<li>  Module Zope.TAL.TALInterpreter, line 203, in interpret</li>
<li>  Module Zope.TAL.TALInterpreter, line 235, in do_startEndTag</li>
<li>  Module Zope.TAL.TALInterpreter, line 258, in do_startTag</li>
<li>  Module Zope.TAL.TALInterpreter, line 336, in attrAction_tal</li>
<li>  Module Zope.TAL.TALInterpreter, line 345, in i18n_attribute</li>
<li>  Module Zope.TAL.TALInterpreter, line 609, in translate</li>
<li>  Module Zope.App.PageTemplate.Engine, line 64, in translate</li>
<li>  Module Zope.I18n.GlobalTranslationService, line 60, in translate</li>
<li>  Module Zope.I18n.Negotiator, line 30, in getLanguage</li>
<li>  Module Zope.Publisher.Browser.BrowserLanguages, line 36, in getPreferredLa
nguages</li>
<li>  Module Zope.Publisher.BaseRequest, line 250, in __getitem__</li>
</ul>KeyError: HTTP_ACCEPT_LANGUAGE
</p>
</body></html>

--Guido van Rossum (home page: http://www.python.org/~guido/)