@@ -603,7 +603,7 @@ def determine_charset(self):
603603 charset_parameter = 0
604604 # Python 2.6 form may raise a TypeError if list in form is None
605605 charset = None
606- try :
606+ try :
607607 charset = self .form ['@charset' ].value
608608 if charset .lower () == "none" :
609609 charset = ""
@@ -660,18 +660,23 @@ def determine_language(self):
660660 # look for language parameter
661661 # then for language cookie
662662 # last for the Accept-Language header
663- if "@language" in self .form :
663+ # Python 2.6 form may raise a TypeError if list in form is None
664+ language = None
665+ try :
664666 language = self .form ["@language" ].value
665667 if language .lower () == "none" :
666668 language = ""
667669 self .add_cookie ("roundup_language" , language )
668- elif "roundup_language" in self .cookie :
669- language = self .cookie ["roundup_language" ].value
670- elif self .instance .config ["WEB_USE_BROWSER_LANGUAGE" ]:
671- hal = self .env .get ('HTTP_ACCEPT_LANGUAGE' )
672- language = accept_language .parse (hal )
673- else :
674- language = ""
670+ except (KeyError , TypeError ):
671+ pass
672+ if language is None :
673+ if "roundup_language" in self .cookie :
674+ language = self .cookie ["roundup_language" ].value
675+ elif self .instance .config ["WEB_USE_BROWSER_LANGUAGE" ]:
676+ hal = self .env .get ('HTTP_ACCEPT_LANGUAGE' )
677+ language = accept_language .parse (hal )
678+ else :
679+ language = ""
675680
676681 self .language = language
677682 if language :
0 commit comments