Code

...except of course it's nice to use valid Python syntax
[roundup.git] / roundup / backends / back_anydbm.py
index 681dfbd0b33cbae6225c13fd188884e070cca304..4e1ee10f0642763492c2fb62f801d2fd948f0f79 100644 (file)
@@ -15,7 +15,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-#$Id: back_anydbm.py,v 1.42 2002-07-10 06:21:38 richard Exp $
+#$Id: back_anydbm.py,v 1.43 2002-07-10 06:30:30 richard Exp $
 '''
 This module defines a backend that saves the hyperdatabase in a database
 chosen by anydbm. It is guaranteed to always be available in python
@@ -350,9 +350,9 @@ class Database(FileStorage, hyperdb.Database):
         try:
             journal = marshal.loads(db[nodeid])
         except KeyError:
-            raise KeyError, 'no such %s %s'%(classname, nodeid)
-        finally:
             db.close()
+            raise KeyError, 'no such %s %s'%(classname, nodeid)
+        db.close()
         res = []
         for entry in journal:
             (nodeid, date_stamp, user, action, params) = entry
@@ -511,6 +511,9 @@ class Database(FileStorage, hyperdb.Database):
 
 #
 #$Log: not supported by cvs2svn $
+#Revision 1.42  2002/07/10 06:21:38  richard
+#Be extra safe
+#
 #Revision 1.41  2002/07/10 00:21:45  richard
 #explicit database closing
 #