[Dextrose] [PATCH sugar-toolkit 2/4] Do not break if the string contains no conversion specifier #2354

Aleksey Lim alsroot at member.fsf.org
Sat Jan 15 12:07:17 EST 2011


From: Simon Schampijer <simon at schampijer.de>

---
 src/sugar/util.py |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/sugar/util.py b/src/sugar/util.py
index b947c0a..3625f21 100644
--- a/src/sugar/util.py
+++ b/src/sugar/util.py
@@ -271,10 +271,17 @@ def timestamp_to_elapsed_string(timestamp, max_levels=2):
             if key in _i18n_timestamps_cache:
                 time_period += _i18n_timestamps_cache[key]
             else:
-                translation = gettext.dngettext('sugar-toolkit',
-                                                name_singular,
-                                                name_plural,
-                                                elapsed_units) % elapsed_units
+                tmp = gettext.dngettext('sugar-toolkit',
+                                        name_singular,
+                                        name_plural,
+                                        elapsed_units)
+                # FIXME: This is a hack so we don't crash when a translation
+                # doesn't contain the expected number of placeholders (#2354)
+                try:
+                    translation = tmp % elapsed_units
+                except TypeError:
+                    translation = tmp
+
                 _i18n_timestamps_cache[key] = translation
                 time_period += translation
 
-- 
1.7.3.4



More information about the Dextrose mailing list