Mercurial > p > roundup > code
diff roundup/hyperdb.py @ 7464:82bbb95e5690 issue2550923_computed_property
merge from tip into issue2550923_computed_property
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Thu, 08 Jun 2023 00:10:32 -0400 |
| parents | ca90f7270cd4 76a21cf791b9 |
| children | 14a8e11f3a87 |
line wrap: on
line diff
--- a/roundup/hyperdb.py Mon Nov 07 22:58:38 2022 -0500 +++ b/roundup/hyperdb.py Thu Jun 08 00:10:32 2023 -0400 @@ -179,10 +179,12 @@ return None try: return password.Password(encrypted=value, scheme=self.scheme, - strict=True) + strict=True, + config=kw['db'].config) except password.PasswordValueError as message: - raise HyperdbValueError(_('property %s: %s') % - (kw['propname'], message)) + raise HyperdbValueError(_('property %(property)s: %(errormsg)s') % + {'property': kw['propname'], + 'errormsg': message}) def sort_repr(self, cls, val, name): if not val: @@ -208,9 +210,11 @@ try: value = date.Date(value, self.offset(db)) except ValueError as message: - raise HyperdbValueError(_('property %s: %r is an invalid ' - 'date (%s)') % (kw['propname'], - value, message)) + raise HyperdbValueError(_( + 'property %(property)s: %(value)r is an invalid ' + 'date (%(errormsg)s)') % {'property': kw['propname'], + 'value': value, + 'errormsg': message}) return value def range_from_raw(self, value, db): @@ -229,9 +233,12 @@ try: value = date.Interval(value) except ValueError as message: - raise HyperdbValueError(_('property %s: %r is an invalid ' - 'date interval (%s)') % - (kw['propname'], value, message)) + raise HyperdbValueError(_( + 'property %(property)s: %(value)r is an invalid ' + 'date interval (%(errormsg)s)') % + {'property': kw['propname'], + 'value': value, + 'errormsg': message}) return value def sort_repr(self, cls, val, name): @@ -483,8 +490,10 @@ try: value = float(value) except ValueError: - raise HyperdbValueError(_('property %s: %r is not a number') % - (kw['propname'], value)) + raise HyperdbValueError(_( + 'property %(property)s: %(value)r is not a number') % + {'property': kw['propname'], + 'value': value}) return value @@ -495,8 +504,10 @@ try: value = int(value) except ValueError: - raise HyperdbValueError(_('property %s: %r is not an integer') % - (kw['propname'], value)) + raise HyperdbValueError(_( + 'property %(property)s: %(value)r is not an integer') % { + 'property': kw['propname'], + 'value': value}) return value @@ -739,7 +750,8 @@ else: assert not isinstance(p.val, Exact_Match) filterspec[p.name] = p.val - self.set_val(self.cls._filter(search_matches, filterspec, sort and self, + self.set_val(self.cls._filter(search_matches, filterspec, + sort and self, retired=retired, exact_match_spec=exact_match_spec)) return self.val @@ -1237,8 +1249,9 @@ db.addclass(self) actions = "create set retire restore".split() - self.auditors = dict([(a, PrioList()) for a in actions]) - self.reactors = dict([(a, PrioList()) for a in actions]) + skey = lambda x: x[:2] + self.auditors = dict([(a, PrioList(key=skey)) for a in actions]) + self.reactors = dict([(a, PrioList(key=skey)) for a in actions]) def __repr__(self): """Slightly more useful representation @@ -2027,8 +2040,12 @@ try: value = linkcl.lookup(value) except KeyError: - raise HyperdbValueError(_('property %s: %r is not a %s.') % ( - propname, value, prop.classname)) + raise HyperdbValueError(_( + 'property %(property)s: %(value)r ' + 'is not a %(classname)s.') % { + 'property': propname, + 'value': value, + 'classname': prop.classname}) else: raise HyperdbValueError(_('you may only enter ID values ' 'for property %s') % propname) @@ -2064,8 +2081,10 @@ try: proptype = properties[propname] except KeyError: - raise HyperdbValueError(_('%r is not a property of %s') % ( - propname, klass.classname)) + raise HyperdbValueError(_( + '%(property)r is not a property of %(classname)s') % { + 'property': propname, + 'classname': klass.classname}) # if we got a string, strip it now if isinstance(value, type('')):
