diff roundup/backends/sessions_dbm.py @ 4362:74476eaac38a

more modernisation
author Richard Jones <richard@users.sourceforge.net>
date Fri, 26 Feb 2010 00:38:53 +0000
parents 0112e9e1d068
children 6cbe57d7f15c
line wrap: on
line diff
--- a/roundup/backends/sessions_dbm.py	Tue Feb 23 22:54:59 2010 +0000
+++ b/roundup/backends/sessions_dbm.py	Fri Feb 26 00:38:53 2010 +0000
@@ -7,9 +7,11 @@
 """
 __docformat__ = 'restructuredtext'
 
-import anydbm, whichdb, os, marshal, time
+import os, marshal, time
+
 from roundup import hyperdb
 from roundup.i18n import _
+from roundup.anypy.dbm_ import anydbm, whichdb
 
 class BasicDatabase:
     ''' Provide a nice encapsulation of an anydbm store.
@@ -26,7 +28,7 @@
     def exists(self, infoid):
         db = self.opendb('c')
         try:
-            return db.has_key(infoid)
+            return infoid in db
         finally:
             db.close()
 
@@ -46,8 +48,8 @@
         if os.path.exists(path):
             db_type = whichdb.whichdb(path)
             if not db_type:
-                raise hyperdb.DatabaseError, \
-                    _("Couldn't identify database type")
+                raise hyperdb.DatabaseError(
+                    _("Couldn't identify database type"))
         elif os.path.exists(path+'.db'):
             # if the path ends in '.db', it's a dbm database, whether
             # anydbm says it's dbhash or not!
@@ -58,12 +60,12 @@
     def get(self, infoid, value, default=_marker):
         db = self.opendb('c')
         try:
-            if db.has_key(infoid):
+            if infoid in db:
                 values = marshal.loads(db[infoid])
             else:
                 if default != self._marker:
                     return default
-                raise KeyError, 'No such %s "%s"'%(self.name, infoid)
+                raise KeyError('No such %s "%s"'%(self.name, infoid))
             return values.get(value, None)
         finally:
             db.close()
@@ -76,14 +78,14 @@
                 del d['__timestamp']
                 return d
             except KeyError:
-                raise KeyError, 'No such %s "%s"'%(self.name, infoid)
+                raise KeyError('No such %s "%s"'%(self.name, infoid))
         finally:
             db.close()
 
     def set(self, infoid, **newvalues):
         db = self.opendb('c')
         try:
-            if db.has_key(infoid):
+            if infoid in db:
                 values = marshal.loads(db[infoid])
             else:
                 values = {'__timestamp': time.time()}
@@ -95,14 +97,14 @@
     def list(self):
         db = self.opendb('r')
         try:
-            return db.keys()
+            return list(db)
         finally:
             db.close()
 
     def destroy(self, infoid):
         db = self.opendb('c')
         try:
-            if db.has_key(infoid):
+            if infoid in db:
                 del db[infoid]
         finally:
             db.close()

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