[Checkins] SVN: zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py destructuor

Andreas Jung andreas at andreas-jung.com
Sat Jul 3 04:17:01 EDT 2010


Log message for revision 114124:
  destructuor
  

Changed:
  U   zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py

-=-
Modified: zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py
===================================================================
--- zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py	2010-07-03 08:11:43 UTC (rev 114123)
+++ zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py	2010-07-03 08:17:00 UTC (rev 114124)
@@ -19,19 +19,23 @@
         self.metadata = self.db.metadata
         self.revisions = self.db.revisions
 
+    def __del__(self):
+        self.db.logout()
+        self.conn.disconnect()
+
     def clear(self):
         self.metadata.remove()
         self.revisions.remove()
 
     def store(self, id, version_data, revision_metadata):
-
         id_entry = self.metadata.find_one({'_oid' : id})
         if id_entry is None:
             revision = 0
             self.metadata.save({'_oid' : id, '_rev' : 0})
         else:
             revision = id_entry['_rev'] + 1
-            self.metadata.update({'_oid' : id}, {'$set' : {'_rev' : revision}} )
+            self.metadata.update({'_oid' : id}, 
+                                 {'$set' : {'_rev' : revision}} )
 
         data = dict(_oid=id, 
                     _rev=revision,
@@ -42,17 +46,15 @@
         return revision
 
     def retrieve(self, id, revision):
-
         count = self.revisions.find({'_oid' : id}).count()
         if count == 0:
             raise errors.NoDocumentFound('No document with ID %s found' % id)
-
         entry = self.revisions.find_one({'_oid' : id, '_rev' : revision})
         if entry:
             return anyjson.serialize(entry._data)
+        raise errors.NoRevisionFound('No revision %d found for document '
+                                     'with ID %s found' % (revision, id))
 
-        raise errors.NoRevisionFound('No revision %d found for document with ID %s found' % (revision, id))
-
     def remove(self, id):
         if self.revisions.find({'_oid' : id}).count() == 0:
             raise errors.NoDocumentFound('No document with ID %s found' % id)
@@ -65,7 +67,6 @@
     def list_revisions(self, id):
         if self.revisions.find({'_oid' : id}).count() == 0:
             raise errors.NoDocumentFound('No document with ID %s found' % id)
-
         revisions = self.revisions.find({'_oid' : id})
         if revisions.count == 0:
             raise errors.NoDocumentFound('No document with ID %s found' % id)
@@ -75,7 +76,6 @@
         revision = self.revisions.find_one({'_oid' : id, '_rev' : revision})
         return revision._metadata
 
-
     def remove_revision(self, id, revision):
         if self.revisions.find({'_oid' : id}).count() == 0:
             raise errors.NoDocumentFound('No document with ID %s found' % id)



More information about the checkins mailing list