comparison roundup/hyperdb.py @ 5248:198b6e810c67

Use Python-3-compatible 'as' syntax for except statements Many raise statements near these are also fixed. So are two ivorrect file encoding marks ('utf8'->'utf-8').
author Eric S. Raymond <esr@thyrsus.com>
date Thu, 24 Aug 2017 22:21:37 -0400
parents 462b0f76fce8
children 928512faf565
comparison
equal deleted inserted replaced
5247:7f00a47b3559 5248:198b6e810c67
84 def from_raw(self, value, **kw): 84 def from_raw(self, value, **kw):
85 if not value: 85 if not value:
86 return None 86 return None
87 try: 87 try:
88 return password.Password(encrypted=value, scheme=self.scheme, strict=True) 88 return password.Password(encrypted=value, scheme=self.scheme, strict=True)
89 except password.PasswordValueError, message: 89 except password.PasswordValueError as message:
90 raise HyperdbValueError, \ 90 raise HyperdbValueError, \
91 _('property %s: %s')%(kw['propname'], message) 91 _('property %s: %s')%(kw['propname'], message)
92 92
93 def sort_repr (self, cls, val, name): 93 def sort_repr (self, cls, val, name):
94 if not val: 94 if not val:
107 return self._offset 107 return self._offset
108 return db.getUserTimezone() 108 return db.getUserTimezone()
109 def from_raw(self, value, db, **kw): 109 def from_raw(self, value, db, **kw):
110 try: 110 try:
111 value = date.Date(value, self.offset(db)) 111 value = date.Date(value, self.offset(db))
112 except ValueError, message: 112 except ValueError as message:
113 raise HyperdbValueError, _('property %s: %r is an invalid '\ 113 raise HyperdbValueError, _('property %s: %r is an invalid '\
114 'date (%s)')%(kw['propname'], value, message) 114 'date (%s)')%(kw['propname'], value, message)
115 return value 115 return value
116 def range_from_raw(self, value, db): 116 def range_from_raw(self, value, db):
117 """return Range value from given raw value with offset correction""" 117 """return Range value from given raw value with offset correction"""
124 class Interval(_Type): 124 class Interval(_Type):
125 """An object designating an Interval property.""" 125 """An object designating an Interval property."""
126 def from_raw(self, value, **kw): 126 def from_raw(self, value, **kw):
127 try: 127 try:
128 value = date.Interval(value) 128 value = date.Interval(value)
129 except ValueError, message: 129 except ValueError as message:
130 raise HyperdbValueError, _('property %s: %r is an invalid '\ 130 raise HyperdbValueError, _('property %s: %r is an invalid '\
131 'date interval (%s)')%(kw['propname'], value, message) 131 'date interval (%s)')%(kw['propname'], value, message)
132 return value 132 return value
133 def sort_repr (self, cls, val, name): 133 def sort_repr (self, cls, val, name):
134 if not val: 134 if not val:
1500 linkcl = db.classes[prop.classname] 1500 linkcl = db.classes[prop.classname]
1501 if not idre or not idre.match(value): 1501 if not idre or not idre.match(value):
1502 if linkcl.getkey(): 1502 if linkcl.getkey():
1503 try: 1503 try:
1504 value = linkcl.lookup(value) 1504 value = linkcl.lookup(value)
1505 except KeyError, message: 1505 except KeyError as message:
1506 raise HyperdbValueError, _('property %s: %r is not a %s.')%( 1506 raise HyperdbValueError, _('property %s: %r is not a %s.')%(
1507 propname, value, prop.classname) 1507 propname, value, prop.classname)
1508 else: 1508 else:
1509 raise HyperdbValueError, _('you may only enter ID values '\ 1509 raise HyperdbValueError, _('you may only enter ID values '\
1510 'for property %s')%propname 1510 'for property %s')%propname
1635 def __getattr__(self, name): 1635 def __getattr__(self, name):
1636 if self.__dict__.has_key(name): 1636 if self.__dict__.has_key(name):
1637 return self.__dict__[name] 1637 return self.__dict__[name]
1638 try: 1638 try:
1639 return self.cl.get(self.nodeid, name) 1639 return self.cl.get(self.nodeid, name)
1640 except KeyError, value: 1640 except KeyError as value:
1641 # we trap this but re-raise it as AttributeError - all other 1641 # we trap this but re-raise it as AttributeError - all other
1642 # exceptions should pass through untrapped 1642 # exceptions should pass through untrapped
1643 pass 1643 pass
1644 # nope, no such attribute 1644 # nope, no such attribute
1645 raise AttributeError, str(value) 1645 raise AttributeError, str(value)
1646 def __getitem__(self, name): 1646 def __getitem__(self, name):
1647 return self.cl.get(self.nodeid, name) 1647 return self.cl.get(self.nodeid, name)
1648 def __setattr__(self, name, value): 1648 def __setattr__(self, name, value):
1649 try: 1649 try:
1650 return self.cl.set(self.nodeid, **{name: value}) 1650 return self.cl.set(self.nodeid, **{name: value})
1651 except KeyError, value: 1651 except KeyError as value:
1652 raise AttributeError, str(value) 1652 raise AttributeError, str(value)
1653 def __setitem__(self, name, value): 1653 def __setitem__(self, name, value):
1654 self.cl.set(self.nodeid, **{name: value}) 1654 self.cl.set(self.nodeid, **{name: value})
1655 def history(self, enforceperm=True, skipquiet=True): 1655 def history(self, enforceperm=True, skipquiet=True):
1656 return self.cl.history(self.nodeid, 1656 return self.cl.history(self.nodeid,

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