diff roundup/rest.py @ 8272:fde5893b6c25

fix: correct strings with multiple %s that can't be translated Changed to use %(name)s for each element. make in the locale directory is no longer grousing.
author John Rouillard <rouilj@ieee.org>
date Sun, 12 Jan 2025 19:49:31 -0500
parents eb45feb1d01e
children e3099f18a395
line wrap: on
line diff
--- a/roundup/rest.py	Sun Jan 12 18:22:40 2025 -0500
+++ b/roundup/rest.py	Sun Jan 12 19:49:31 2025 -0500
@@ -2277,15 +2277,17 @@
         if ext_type and (len(ext_type) < MAX_MIME_EXTENSION_LENGTH):
             if ext_type not in list(self.__accepted_content_type.values()):
                 self.client.response_code = 406
-                return (None, uri,
-                        self.error_obj(
-                            406,
-                            _("Content type '%s' requested in URL is "
-                             "not available.\nAcceptable types: %s\n") %
-                            (ext_type,
-                             ", ".join(sorted(
-                                 set(self.__accepted_content_type.values()))))))
-
+                return (
+                    None, uri,
+                    self.error_obj(
+                        406,
+                        _("Content type '%(requested)s' requested in URL is"
+                          "not available.\nAcceptable types: "
+                          "%(acceptable)s\n") %
+                        { "requested": ext_type,
+                          "acceptable": ", ".join(sorted(
+                              set(self.__accepted_content_type.values())))}))
+            
             # strip extension so uri makes sense.
             # E.G. .../issue.json -> .../issue
             uri = uri[:-(len(ext_type) + 1)]
@@ -2408,20 +2410,24 @@
             return (None, uri,
                     self.error_obj(
                         406,
-                        _("Requested content type(s) '%s' not available.\n"
-                          "Acceptable mime types are: */*, %s") %
-                        (self.client.request.headers.get('Accept'),
-                         ", ".join(sorted(
-                             valid_binary_content_types)))))
+                        _("Requested content type(s) '%(requested)s' not "
+                          "available.\nAcceptable mime types are: */*, "
+                          "%(acceptable)s") %
+                        {"requested":
+                         self.client.request.headers.get('Accept'),
+                         "acceptable": ", ".join(sorted(
+                             valid_binary_content_types))}))
 
         return (None, uri,
                 self.error_obj(
                     406,
-                    _("Requested content type(s) '%s' not available.\n"
-                      "Acceptable mime types are: */*, %s") %
-                    (self.client.request.headers.get('Accept'),
-                     ", ".join(sorted(
-                         self.__accepted_content_type.keys())))))
+                    _("Requested content type(s) '%(requested)s' not "
+                      "available.\nAcceptable mime types are: */*, "
+                      "%(acceptable)s") %
+                    {"requested":
+                     self.client.request.headers.get('Accept'),
+                     "acceptable": ", ".join(sorted(
+                         self.__accepted_content_type.keys()))}))
 
     def dispatch(self, method, uri, input_payload):
         """format and process the request"""

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