@@ -59,6 +59,7 @@ class SysCallError(Exception):
5959from roundup .logcontext import gen_trace_id , store_trace_reason
6060from roundup .mailer import Mailer , MessageSendError
6161from roundup .mlink_expr import ExpressionError
62+ from roundup .performance import report_object_use
6263
6364logger = logging .getLogger ('roundup' )
6465
@@ -585,6 +586,7 @@ def setTranslator(self, translator=None):
585586
586587 @gen_trace_id ()
587588 @store_trace_reason ('client_main' )
589+ @report_object_use (highest = 20 , pre_collect = False )
588590 def main (self ):
589591 """ Wrap the real main in a try/finally so we always close off the db.
590592 """
@@ -1187,9 +1189,15 @@ def determine_language(self):
11871189 # self.language to the desired language !
11881190 self .language = language
11891191
1190- self .setTranslator (TranslationService .get_translation (
1192+ try :
1193+ self .setTranslator (TranslationService .get_translation (
11911194 language ,
11921195 tracker_home = self .instance .config ["TRACKER_HOME" ]))
1196+ except IOError as e :
1197+ logger .error (str (e ), extra = {"requested_language" : language })
1198+ # failed to set the requested/TRACKER_LANGUAGE language.
1199+ # Set to en.
1200+ self .language = ""
11931201
11941202 def authenticate_bearer_token (self , challenge ):
11951203 ''' authenticate the bearer token. Refactored from determine_user()
@@ -1931,7 +1939,7 @@ def reauth(self, exception):
19311939 Can be overridden by code in tracker's interfaces.py.
19321940 """
19331941
1934- from roundup .anypy .vendored . cgi import MiniFieldStorage
1942+ from roundup .anypy .cgi_ import MiniFieldStorage
19351943
19361944 original_action = self .form ['@action' ].value if '@action' \
19371945 in self .form else ""
0 commit comments