comparison roundup/hyperdb.py @ 1927:f5e8aeb1382d

Add 'safeget' method to hyperdb, including tests... ...and use it to simplify code in roundupdb.
author Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
date Sun, 16 Nov 2003 19:59:10 +0000
parents 3bdd34547fa7
children 7c1ddebe7589
comparison
equal deleted inserted replaced
1926:3bdd34547fa7 1927:f5e8aeb1382d
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.92 2003-11-16 18:41:40 jlgijsbers Exp $ 18 # $Id: hyperdb.py,v 1.93 2003-11-16 19:59:10 jlgijsbers Exp $
19 19
20 """ 20 """
21 Hyperdatabase implementation, especially field types. 21 Hyperdatabase implementation, especially field types.
22 """ 22 """
23 23
569 569
570 def index(self, nodeid): 570 def index(self, nodeid):
571 '''Add (or refresh) the node to search indexes 571 '''Add (or refresh) the node to search indexes
572 ''' 572 '''
573 raise NotImplementedError 573 raise NotImplementedError
574
575 def safeget(self, nodeid, propname, default=None):
576 try:
577 return self.get(nodeid, propname)
578 except (KeyError, IndexError):
579 return default
574 580
575 class HyperdbValueError(ValueError): 581 class HyperdbValueError(ValueError):
576 ''' Error converting a raw value into a Hyperdb value ''' 582 ''' Error converting a raw value into a Hyperdb value '''
577 pass 583 pass
578 584

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