comparison roundup/hyperdb.py @ 3392:876cda688636 maint-0.8

bugfixes, thanks alex
author Richard Jones <richard@users.sourceforge.net>
date Mon, 18 Jul 2005 01:43:06 +0000
parents 6d6d7e331c54
children 54f98b078e44
comparison
equal deleted inserted replaced
3391:2526fddeb3ab 3392:876cda688636
13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" 14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, 15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
17 # 17 #
18 # $Id: hyperdb.py,v 1.107.2.2 2005-07-12 01:43:17 richard Exp $ 18 # $Id: hyperdb.py,v 1.107.2.3 2005-07-18 01:43:06 richard Exp $
19 19
20 """Hyperdatabase implementation, especially field types. 20 """Hyperdatabase implementation, especially field types.
21 """ 21 """
22 __docformat__ = 'restructuredtext' 22 __docformat__ = 'restructuredtext'
23 23
45 """An object designating a Password property.""" 45 """An object designating a Password property."""
46 def __repr__(self): 46 def __repr__(self):
47 ' more useful for dumps ' 47 ' more useful for dumps '
48 return '<%s>'%self.__class__ 48 return '<%s>'%self.__class__
49 def from_raw(self, value, **kw): 49 def from_raw(self, value, **kw):
50 m = password.Passowrd.pwre.match(value) 50 m = password.Password.pwre.match(value)
51 if m: 51 if m:
52 # password is being given to us encrypted 52 # password is being given to us encrypted
53 p = password.Password() 53 p = password.Password()
54 p.scheme = m.group(1) 54 p.scheme = m.group(1)
55 if p.scheme not in 'SHA crypt plaintext'.split(): 55 if p.scheme not in 'SHA crypt plaintext'.split():
78 def from_raw(self, value, db, **kw): 78 def from_raw(self, value, db, **kw):
79 try: 79 try:
80 value = date.Date(value).local(-self.offset(db)) 80 value = date.Date(value).local(-self.offset(db))
81 except ValueError, message: 81 except ValueError, message:
82 raise HyperdbValueError, 'property %s: %r is an invalid '\ 82 raise HyperdbValueError, 'property %s: %r is an invalid '\
83 'date (%s)'%(propname, value, message) 83 'date (%s)'%(kw['propname'], value, message)
84 return value 84 return value
85 def range_from_raw (self, value, db): 85 def range_from_raw (self, value, db):
86 """return Range value from given raw value with offset correction""" 86 """return Range value from given raw value with offset correction"""
87 return date.Range(value, date.Date, offset=self.offset (db)) 87 return date.Range(value, date.Date, offset=self.offset (db))
88 88
94 def from_raw(self, value, **kw): 94 def from_raw(self, value, **kw):
95 try: 95 try:
96 value = date.Interval(value) 96 value = date.Interval(value)
97 except ValueError, message: 97 except ValueError, message:
98 raise HyperdbValueError, 'property %s: %r is an invalid '\ 98 raise HyperdbValueError, 'property %s: %r is an invalid '\
99 'date interval (%s)'%(propname, value, message) 99 'date interval (%s)'%(kw['propname'], value, message)
100 return value 100 return value
101 101
102 class Link: 102 class Link:
103 """An object designating a Link property that links to a 103 """An object designating a Link property that links to a
104 node in a specified class.""" 104 node in a specified class."""
167 elif item.startswith('+'): 167 elif item.startswith('+'):
168 item = item[1:] 168 item = item[1:]
169 set = 0 169 set = 0
170 170
171 # look up the value 171 # look up the value
172 itemid = convertLinkValue(db, propname, proptype, item) 172 itemid = convertLinkValue(db, propname, self, item)
173 173
174 # perform the add/remove 174 # perform the add/remove
175 if remove: 175 if remove:
176 try: 176 try:
177 curvalue.remove(itemid) 177 curvalue.remove(itemid)
217 value = value.strip() 217 value = value.strip()
218 try: 218 try:
219 value = float(value) 219 value = float(value)
220 except ValueError: 220 except ValueError:
221 raise HyperdbValueError, 'property %s: %r is not a number'%( 221 raise HyperdbValueError, 'property %s: %r is not a number'%(
222 propname, value) 222 kw['propname'], value)
223 return value 223 return value
224 # 224 #
225 # Support for splitting designators 225 # Support for splitting designators
226 # 226 #
227 class DesignatorError(ValueError): 227 class DesignatorError(ValueError):

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