Mercurial > p > roundup > code
diff roundup/cgi/client.py @ 4800:3961b2b91568
2nd case where querying form returns a TypeError
| author | Ralf Schlatterbeck <rsc@runtux.com> |
|---|---|
| date | Mon, 08 Jul 2013 10:38:54 +0200 |
| parents | b474adb17fda |
| children | bff9e4145f70 |
line wrap: on
line diff
--- a/roundup/cgi/client.py Mon Jul 08 09:57:39 2013 +0200 +++ b/roundup/cgi/client.py Mon Jul 08 10:38:54 2013 +0200 @@ -603,7 +603,7 @@ charset_parameter = 0 # Python 2.6 form may raise a TypeError if list in form is None charset = None - try : + try: charset = self.form['@charset'].value if charset.lower() == "none": charset = "" @@ -660,18 +660,23 @@ # look for language parameter # then for language cookie # last for the Accept-Language header - if "@language" in self.form: + # Python 2.6 form may raise a TypeError if list in form is None + language = None + try: language = self.form["@language"].value if language.lower() == "none": language = "" self.add_cookie("roundup_language", language) - elif "roundup_language" in self.cookie: - language = self.cookie["roundup_language"].value - elif self.instance.config["WEB_USE_BROWSER_LANGUAGE"]: - hal = self.env.get('HTTP_ACCEPT_LANGUAGE') - language = accept_language.parse(hal) - else: - language = "" + except (KeyError, TypeError): + pass + if language is None: + if "roundup_language" in self.cookie: + language = self.cookie["roundup_language"].value + elif self.instance.config["WEB_USE_BROWSER_LANGUAGE"]: + hal = self.env.get('HTTP_ACCEPT_LANGUAGE') + language = accept_language.parse(hal) + else: + language = "" self.language = language if language:
