77"""
88__docformat__ = 'restructuredtext'
99
10- import anydbm , whichdb , os , marshal , time
10+ import os , marshal , time
11+
1112from roundup import hyperdb
1213from roundup .i18n import _
14+ from roundup .anypy .dbm_ import anydbm , whichdb
1315
1416class BasicDatabase :
1517 ''' Provide a nice encapsulation of an anydbm store.
@@ -26,7 +28,7 @@ def __init__(self, db):
2628 def exists (self , infoid ):
2729 db = self .opendb ('c' )
2830 try :
29- return db . has_key ( infoid )
31+ return infoid in db
3032 finally :
3133 db .close ()
3234
@@ -46,8 +48,8 @@ def cache_db_type(self, path):
4648 if os .path .exists (path ):
4749 db_type = whichdb .whichdb (path )
4850 if not db_type :
49- raise hyperdb .DatabaseError , \
50- _ ("Couldn't identify database type" )
51+ raise hyperdb .DatabaseError (
52+ _ ("Couldn't identify database type" ))
5153 elif os .path .exists (path + '.db' ):
5254 # if the path ends in '.db', it's a dbm database, whether
5355 # anydbm says it's dbhash or not!
@@ -58,12 +60,12 @@ def cache_db_type(self, path):
5860 def get (self , infoid , value , default = _marker ):
5961 db = self .opendb ('c' )
6062 try :
61- if db . has_key ( infoid ) :
63+ if infoid in db :
6264 values = marshal .loads (db [infoid ])
6365 else :
6466 if default != self ._marker :
6567 return default
66- raise KeyError , 'No such %s "%s"' % (self .name , infoid )
68+ raise KeyError ( 'No such %s "%s"' % (self .name , infoid ) )
6769 return values .get (value , None )
6870 finally :
6971 db .close ()
@@ -76,14 +78,14 @@ def getall(self, infoid):
7678 del d ['__timestamp' ]
7779 return d
7880 except KeyError :
79- raise KeyError , 'No such %s "%s"' % (self .name , infoid )
81+ raise KeyError ( 'No such %s "%s"' % (self .name , infoid ) )
8082 finally :
8183 db .close ()
8284
8385 def set (self , infoid , ** newvalues ):
8486 db = self .opendb ('c' )
8587 try :
86- if db . has_key ( infoid ) :
88+ if infoid in db :
8789 values = marshal .loads (db [infoid ])
8890 else :
8991 values = {'__timestamp' : time .time ()}
@@ -95,14 +97,14 @@ def set(self, infoid, **newvalues):
9597 def list (self ):
9698 db = self .opendb ('r' )
9799 try :
98- return db . keys ( )
100+ return list ( db )
99101 finally :
100102 db .close ()
101103
102104 def destroy (self , infoid ):
103105 db = self .opendb ('c' )
104106 try :
105- if db . has_key ( infoid ) :
107+ if infoid in db :
106108 del db [infoid ]
107109 finally :
108110 db .close ()
0 commit comments