index c4e2be161fbdd9da6f5c63e6b82475cbcdcb6248..26fa11918ad391b42bc78b6c9a9a31ca4c6ff098 100644 (file)
from roundup import hyperdb
from roundup.i18n import _
-from roundup.anypy.dbm_ import anydbm, whichdb
+from roundup.anypy.dbm_ import anydbm, whichdb, key_in
class BasicDatabase:
''' Provide a nice encapsulation of an anydbm store.
def exists(self, infoid):
db = self.opendb('c')
try:
- return infoid in db
+ return key_in(db, infoid)
finally:
db.close()
def get(self, infoid, value, default=_marker):
db = self.opendb('c')
try:
- if infoid in db:
+ if key_in(db, infoid):
values = marshal.loads(db[infoid])
else:
if default != self._marker:
def set(self, infoid, **newvalues):
db = self.opendb('c')
try:
- if infoid in db:
+ if key_in(db, infoid):
values = marshal.loads(db[infoid])
else:
values = {'__timestamp': time.time()}
def list(self):
db = self.opendb('r')
try:
- return list(db)
+ return list(db.keys())
finally:
db.close()
def destroy(self, infoid):
db = self.opendb('c')
try:
- if infoid in db:
+ if key_in(db, infoid):
del db[infoid]
finally:
db.close()