[Checkins] SVN: zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py compliant with interface

Andreas Jung andreas at andreas-jung.com
Fri Jul 2 03:23:22 EDT 2010


Log message for revision 114092:
  compliant with interface
  

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-02 07:20:10 UTC (rev 114091)
+++ zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py	2010-07-02 07:23:22 UTC (rev 114092)
@@ -62,7 +62,17 @@
     def has_revision(self, id, revision):
         return bool(self.revisions.find_one({'_oid' : id, '_rev' : revision}))
 
+    def list_revisions(self, id):
 
+        revisions = self.revisions.find({'_oid' : id})
+        if revisons.count == 0:
+            raise errors.NoDocumentFound('No document with ID %s found' % id)
+        return sorted([r['_rev'] for r in revisions])
+
+    def remove_revision(self, id, revision):
+        self.revisions.delete({'_oid' : id, '_rev' : revision})
+
+
 if __name__ == '__main__':
 
     storage = MongoDBStorage('localhost', 10200, 'zopyx-versioning')
@@ -74,3 +84,5 @@
     print storage.retrieve('42', 9)
     print storage.has_revision('42', 9)
     print storage.has_revision('42', 42)
+
+    print storage.list_revisions('42')



More information about the checkins mailing list