comparison roundup/hyperdb.py @ 3393:18e6e1326d4b

merge from maint-0-8
author Richard Jones <richard@users.sourceforge.net>
date Mon, 18 Jul 2005 01:43:56 +0000
parents c1c67c62b699
children 3a0d4e4a0f34
comparison
equal deleted inserted replaced
3390:a2e4b8ab5b51 3393:18e6e1326d4b
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.109 2005-07-12 01:37:49 richard Exp $ 18 # $Id: hyperdb.py,v 1.110 2005-07-18 01:43:56 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
46 """An object designating a Password property.""" 46 """An object designating a Password property."""
47 def __repr__(self): 47 def __repr__(self):
48 ' more useful for dumps ' 48 ' more useful for dumps '
49 return '<%s>'%self.__class__ 49 return '<%s>'%self.__class__
50 def from_raw(self, value, **kw): 50 def from_raw(self, value, **kw):
51 m = password.Passowrd.pwre.match(value) 51 m = password.Password.pwre.match(value)
52 if m: 52 if m:
53 # password is being given to us encrypted 53 # password is being given to us encrypted
54 p = password.Password() 54 p = password.Password()
55 p.scheme = m.group(1) 55 p.scheme = m.group(1)
56 if p.scheme not in 'SHA crypt plaintext'.split(): 56 if p.scheme not in 'SHA crypt plaintext'.split():
79 def from_raw(self, value, db, **kw): 79 def from_raw(self, value, db, **kw):
80 try: 80 try:
81 value = date.Date(value).local(-self.offset(db)) 81 value = date.Date(value).local(-self.offset(db))
82 except ValueError, message: 82 except ValueError, message:
83 raise HyperdbValueError, 'property %s: %r is an invalid '\ 83 raise HyperdbValueError, 'property %s: %r is an invalid '\
84 'date (%s)'%(propname, value, message) 84 'date (%s)'%(kw['propname'], value, message)
85 return value 85 return value
86 def range_from_raw (self, value, db): 86 def range_from_raw (self, value, db):
87 """return Range value from given raw value with offset correction""" 87 """return Range value from given raw value with offset correction"""
88 return date.Range(value, date.Date, offset=self.offset (db)) 88 return date.Range(value, date.Date, offset=self.offset (db))
89 89
95 def from_raw(self, value, **kw): 95 def from_raw(self, value, **kw):
96 try: 96 try:
97 value = date.Interval(value) 97 value = date.Interval(value)
98 except ValueError, message: 98 except ValueError, message:
99 raise HyperdbValueError, 'property %s: %r is an invalid '\ 99 raise HyperdbValueError, 'property %s: %r is an invalid '\
100 'date interval (%s)'%(propname, value, message) 100 'date interval (%s)'%(kw['propname'], value, message)
101 return value 101 return value
102 102
103 class Link: 103 class Link:
104 """An object designating a Link property that links to a 104 """An object designating a Link property that links to a
105 node in a specified class.""" 105 node in a specified class."""
168 elif item.startswith('+'): 168 elif item.startswith('+'):
169 item = item[1:] 169 item = item[1:]
170 set = 0 170 set = 0
171 171
172 # look up the value 172 # look up the value
173 itemid = convertLinkValue(db, propname, proptype, item) 173 itemid = convertLinkValue(db, propname, self, item)
174 174
175 # perform the add/remove 175 # perform the add/remove
176 if remove: 176 if remove:
177 try: 177 try:
178 curvalue.remove(itemid) 178 curvalue.remove(itemid)
218 value = value.strip() 218 value = value.strip()
219 try: 219 try:
220 value = float(value) 220 value = float(value)
221 except ValueError: 221 except ValueError:
222 raise HyperdbValueError, 'property %s: %r is not a number'%( 222 raise HyperdbValueError, 'property %s: %r is not a number'%(
223 propname, value) 223 kw['propname'], value)
224 return value 224 return value
225 # 225 #
226 # Support for splitting designators 226 # Support for splitting designators
227 # 227 #
228 class DesignatorError(ValueError): 228 class DesignatorError(ValueError):

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