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