changeset 8500:b03160d46e9d

bug: don't reference vendored outside of anypy modules client.py was referencing the vendored.cgi module. This is wrong. It should pull the vendored.cgi module only via anypy.cgi_.
author John Rouillard <rouilj@ieee.org>
date Sun, 21 Dec 2025 23:59:08 -0500
parents 7c49a4267705
children b99c40b40f18
files roundup/cgi/client.py
diffstat 1 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/roundup/cgi/client.py	Mon Dec 15 17:31:37 2025 -0500
+++ b/roundup/cgi/client.py	Sun Dec 21 23:59:08 2025 -0500
@@ -59,6 +59,7 @@
 from roundup.logcontext import gen_trace_id, store_trace_reason
 from roundup.mailer import Mailer, MessageSendError
 from roundup.mlink_expr import ExpressionError
+from roundup.performance import report_object_use
 
 logger = logging.getLogger('roundup')
 
@@ -585,6 +586,7 @@
 
     @gen_trace_id()
     @store_trace_reason('client_main')
+    @report_object_use(highest=20, pre_collect=False)
     def main(self):
         """ Wrap the real main in a try/finally so we always close off the db.
         """
@@ -1187,9 +1189,15 @@
         # self.language to the desired language !
         self.language = language
 
-        self.setTranslator(TranslationService.get_translation(
+        try:
+            self.setTranslator(TranslationService.get_translation(
                 language,
                 tracker_home=self.instance.config["TRACKER_HOME"]))
+        except IOError as e:
+            logger.error(str(e), extra={"requested_language": language})
+            # failed to set the requested/TRACKER_LANGUAGE language.
+            # Set to en.
+            self.language = ""
 
     def authenticate_bearer_token(self, challenge):
         ''' authenticate the bearer token. Refactored from determine_user()
@@ -1931,7 +1939,7 @@
            Can be overridden by code in tracker's interfaces.py.
         """
         
-        from roundup.anypy.vendored.cgi import MiniFieldStorage
+        from roundup.anypy.cgi_ import MiniFieldStorage
 
         original_action = self.form['@action'].value if '@action' \
             in self.form else ""

Roundup Issue Tracker: http://roundup-tracker.org/