Mercurial > p > roundup > code
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): |
