Skip to content

Commit 3f2682c

Browse files
committed
Fix internationalized strings with multiple unlabeled % replacements.
Get rid of warnings from gettext about untranslatable strings.
1 parent b83c966 commit 3f2682c

File tree

1 file changed

+34
-17
lines changed

1 file changed

+34
-17
lines changed

roundup/hyperdb.py

Lines changed: 34 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,9 @@ def from_raw(self, value, **kw):
116116
return password.Password(encrypted=value, scheme=self.scheme,
117117
strict=True)
118118
except password.PasswordValueError as message:
119-
raise HyperdbValueError(_('property %s: %s') %
120-
(kw['propname'], message))
119+
raise HyperdbValueError(_('property %(property)s: %(errormsg)s') %
120+
{'property': kw['propname'],
121+
'errormsg': message})
121122

122123
def sort_repr(self, cls, val, name):
123124
if not val:
@@ -143,9 +144,11 @@ def from_raw(self, value, db, **kw):
143144
try:
144145
value = date.Date(value, self.offset(db))
145146
except ValueError as message:
146-
raise HyperdbValueError(_('property %s: %r is an invalid '
147-
'date (%s)') % (kw['propname'],
148-
value, message))
147+
raise HyperdbValueError(_(
148+
'property %(property)s: %(value)r is an invalid '
149+
'date (%(errormsg)s)') % {'property': kw['propname'],
150+
'value': value,
151+
'errormsg': message})
149152
return value
150153

151154
def range_from_raw(self, value, db):
@@ -164,9 +167,12 @@ def from_raw(self, value, **kw):
164167
try:
165168
value = date.Interval(value)
166169
except ValueError as message:
167-
raise HyperdbValueError(_('property %s: %r is an invalid '
168-
'date interval (%s)') %
169-
(kw['propname'], value, message))
170+
raise HyperdbValueError(_(
171+
'property %(property)s: %(value)r is an invalid '
172+
'date interval (%(errormsg)s)') %
173+
{'property': kw['propname'],
174+
'value': value,
175+
'errormsg': message})
170176
return value
171177

172178
def sort_repr(self, cls, val, name):
@@ -418,8 +424,10 @@ def from_raw(self, value, **kw):
418424
try:
419425
value = float(value)
420426
except ValueError:
421-
raise HyperdbValueError(_('property %s: %r is not a number') %
422-
(kw['propname'], value))
427+
raise HyperdbValueError(_(
428+
'property %(property)s: %(value)r is not a number') %
429+
{'property': kw['propname'],
430+
'value': value})
423431
return value
424432

425433

@@ -430,8 +438,10 @@ def from_raw(self, value, **kw):
430438
try:
431439
value = int(value)
432440
except ValueError:
433-
raise HyperdbValueError(_('property %s: %r is not an integer') %
434-
(kw['propname'], value))
441+
raise HyperdbValueError(_(
442+
'property %(property)s: %(value)r is not an integer') % {
443+
'property': kw['propname'],
444+
'value': value})
435445
return value
436446

437447

@@ -674,7 +684,8 @@ def search(self, search_matches=None, sort=True, retired=False):
674684
else:
675685
assert not isinstance(p.val, Exact_Match)
676686
filterspec[p.name] = p.val
677-
self.set_val(self.cls._filter(search_matches, filterspec, sort and self,
687+
self.set_val(self.cls._filter(search_matches, filterspec,
688+
sort and self,
678689
retired=retired,
679690
exact_match_spec=exact_match_spec))
680691
return self.val
@@ -1962,8 +1973,12 @@ def convertLinkValue(db, propname, prop, value, idre=id_regex):
19621973
try:
19631974
value = linkcl.lookup(value)
19641975
except KeyError:
1965-
raise HyperdbValueError(_('property %s: %r is not a %s.') % (
1966-
propname, value, prop.classname))
1976+
raise HyperdbValueError(_(
1977+
'property %(property)s: %(value)r '
1978+
'is not a %(classname)s.') % {
1979+
'property': propname,
1980+
'value': value,
1981+
'classname': prop.classname})
19671982
else:
19681983
raise HyperdbValueError(_('you may only enter ID values '
19691984
'for property %s') % propname)
@@ -1999,8 +2014,10 @@ def rawToHyperdb(db, klass, itemid, propname, value, **kw):
19992014
try:
20002015
proptype = properties[propname]
20012016
except KeyError:
2002-
raise HyperdbValueError(_('%r is not a property of %s') % (
2003-
propname, klass.classname))
2017+
raise HyperdbValueError(_(
2018+
'%(property)r is not a property of %(classname)s') % {
2019+
'property': propname,
2020+
'classname': klass.classname})
20042021

20052022
# if we got a string, strip it now
20062023
if isinstance(value, type('')):

0 commit comments

Comments
 (0)