Mercurial > p > roundup > code
comparison roundup/hyperdb.py @ 7056:9b4bd9bc9bdc
Fix internationalized strings with multiple unlabeled % replacements.
Get rid of warnings from gettext about untranslatable strings.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Mon, 21 Nov 2022 18:02:19 -0500 |
| parents | 8473039648da |
| children | 33eb82ad26ba |
comparison
equal
deleted
inserted
replaced
| 7055:83dc71b3211f | 7056:9b4bd9bc9bdc |
|---|---|
| 114 return None | 114 return None |
| 115 try: | 115 try: |
| 116 return password.Password(encrypted=value, scheme=self.scheme, | 116 return password.Password(encrypted=value, scheme=self.scheme, |
| 117 strict=True) | 117 strict=True) |
| 118 except password.PasswordValueError as message: | 118 except password.PasswordValueError as message: |
| 119 raise HyperdbValueError(_('property %s: %s') % | 119 raise HyperdbValueError(_('property %(property)s: %(errormsg)s') % |
| 120 (kw['propname'], message)) | 120 {'property': kw['propname'], |
| 121 'errormsg': message}) | |
| 121 | 122 |
| 122 def sort_repr(self, cls, val, name): | 123 def sort_repr(self, cls, val, name): |
| 123 if not val: | 124 if not val: |
| 124 return val | 125 return val |
| 125 return str(val) | 126 return str(val) |
| 141 | 142 |
| 142 def from_raw(self, value, db, **kw): | 143 def from_raw(self, value, db, **kw): |
| 143 try: | 144 try: |
| 144 value = date.Date(value, self.offset(db)) | 145 value = date.Date(value, self.offset(db)) |
| 145 except ValueError as message: | 146 except ValueError as message: |
| 146 raise HyperdbValueError(_('property %s: %r is an invalid ' | 147 raise HyperdbValueError(_( |
| 147 'date (%s)') % (kw['propname'], | 148 'property %(property)s: %(value)r is an invalid ' |
| 148 value, message)) | 149 'date (%(errormsg)s)') % {'property': kw['propname'], |
| 150 'value': value, | |
| 151 'errormsg': message}) | |
| 149 return value | 152 return value |
| 150 | 153 |
| 151 def range_from_raw(self, value, db): | 154 def range_from_raw(self, value, db): |
| 152 """return Range value from given raw value with offset correction""" | 155 """return Range value from given raw value with offset correction""" |
| 153 return date.Range(value, date.Date, offset=self.offset(db)) | 156 return date.Range(value, date.Date, offset=self.offset(db)) |
| 162 """An object designating an Interval property.""" | 165 """An object designating an Interval property.""" |
| 163 def from_raw(self, value, **kw): | 166 def from_raw(self, value, **kw): |
| 164 try: | 167 try: |
| 165 value = date.Interval(value) | 168 value = date.Interval(value) |
| 166 except ValueError as message: | 169 except ValueError as message: |
| 167 raise HyperdbValueError(_('property %s: %r is an invalid ' | 170 raise HyperdbValueError(_( |
| 168 'date interval (%s)') % | 171 'property %(property)s: %(value)r is an invalid ' |
| 169 (kw['propname'], value, message)) | 172 'date interval (%(errormsg)s)') % |
| 173 {'property': kw['propname'], | |
| 174 'value': value, | |
| 175 'errormsg': message}) | |
| 170 return value | 176 return value |
| 171 | 177 |
| 172 def sort_repr(self, cls, val, name): | 178 def sort_repr(self, cls, val, name): |
| 173 if not val: | 179 if not val: |
| 174 return val | 180 return val |
| 416 def from_raw(self, value, **kw): | 422 def from_raw(self, value, **kw): |
| 417 value = value.strip() | 423 value = value.strip() |
| 418 try: | 424 try: |
| 419 value = float(value) | 425 value = float(value) |
| 420 except ValueError: | 426 except ValueError: |
| 421 raise HyperdbValueError(_('property %s: %r is not a number') % | 427 raise HyperdbValueError(_( |
| 422 (kw['propname'], value)) | 428 'property %(property)s: %(value)r is not a number') % |
| 429 {'property': kw['propname'], | |
| 430 'value': value}) | |
| 423 return value | 431 return value |
| 424 | 432 |
| 425 | 433 |
| 426 class Integer(_Type): | 434 class Integer(_Type): |
| 427 """An object designating an integer property""" | 435 """An object designating an integer property""" |
| 428 def from_raw(self, value, **kw): | 436 def from_raw(self, value, **kw): |
| 429 value = value.strip() | 437 value = value.strip() |
| 430 try: | 438 try: |
| 431 value = int(value) | 439 value = int(value) |
| 432 except ValueError: | 440 except ValueError: |
| 433 raise HyperdbValueError(_('property %s: %r is not an integer') % | 441 raise HyperdbValueError(_( |
| 434 (kw['propname'], value)) | 442 'property %(property)s: %(value)r is not an integer') % { |
| 443 'property': kw['propname'], | |
| 444 'value': value}) | |
| 435 return value | 445 return value |
| 436 | 446 |
| 437 | 447 |
| 438 # | 448 # |
| 439 # Support for splitting designators | 449 # Support for splitting designators |
| 672 else: | 682 else: |
| 673 filterspec[p.name] = ['-1'] # no match was found | 683 filterspec[p.name] = ['-1'] # no match was found |
| 674 else: | 684 else: |
| 675 assert not isinstance(p.val, Exact_Match) | 685 assert not isinstance(p.val, Exact_Match) |
| 676 filterspec[p.name] = p.val | 686 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, | |
| 678 retired=retired, | 689 retired=retired, |
| 679 exact_match_spec=exact_match_spec)) | 690 exact_match_spec=exact_match_spec)) |
| 680 return self.val | 691 return self.val |
| 681 | 692 |
| 682 def sort(self, ids=None): | 693 def sort(self, ids=None): |
| 1960 if not idre or not idre.match(value): | 1971 if not idre or not idre.match(value): |
| 1961 if linkcl.getkey(): | 1972 if linkcl.getkey(): |
| 1962 try: | 1973 try: |
| 1963 value = linkcl.lookup(value) | 1974 value = linkcl.lookup(value) |
| 1964 except KeyError: | 1975 except KeyError: |
| 1965 raise HyperdbValueError(_('property %s: %r is not a %s.') % ( | 1976 raise HyperdbValueError(_( |
| 1966 propname, value, prop.classname)) | 1977 'property %(property)s: %(value)r ' |
| 1978 'is not a %(classname)s.') % { | |
| 1979 'property': propname, | |
| 1980 'value': value, | |
| 1981 'classname': prop.classname}) | |
| 1967 else: | 1982 else: |
| 1968 raise HyperdbValueError(_('you may only enter ID values ' | 1983 raise HyperdbValueError(_('you may only enter ID values ' |
| 1969 'for property %s') % propname) | 1984 'for property %s') % propname) |
| 1970 return value | 1985 return value |
| 1971 | 1986 |
| 1997 # ensure it's a valid property name | 2012 # ensure it's a valid property name |
| 1998 propname = propname.strip() | 2013 propname = propname.strip() |
| 1999 try: | 2014 try: |
| 2000 proptype = properties[propname] | 2015 proptype = properties[propname] |
| 2001 except KeyError: | 2016 except KeyError: |
| 2002 raise HyperdbValueError(_('%r is not a property of %s') % ( | 2017 raise HyperdbValueError(_( |
| 2003 propname, klass.classname)) | 2018 '%(property)r is not a property of %(classname)s') % { |
| 2019 'property': propname, | |
| 2020 'classname': klass.classname}) | |
| 2004 | 2021 |
| 2005 # if we got a string, strip it now | 2022 # if we got a string, strip it now |
| 2006 if isinstance(value, type('')): | 2023 if isinstance(value, type('')): |
| 2007 value = value.strip() | 2024 value = value.strip() |
| 2008 | 2025 |
