[Checkins] SVN: zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py fine-tuning the data model
Andreas Jung
andreas at andreas-jung.com
Sat Jul 3 04:11:45 EDT 2010
Log message for revision 114123:
fine-tuning the data model
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 15:50:54 UTC (rev 114122)
+++ zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py 2010-07-03 08:11:43 UTC (rev 114123)
@@ -33,9 +33,11 @@
revision = id_entry['_rev'] + 1
self.metadata.update({'_oid' : id}, {'$set' : {'_rev' : revision}} )
- data = dict(_oid=id, _rev=revision)
- data.update(anyjson.deserialize(version_data))
- data.update(anyjson.deserialize(revision_metadata))
+ data = dict(_oid=id,
+ _rev=revision,
+ _data=anyjson.deserialize(version_data),
+ _metadata=anyjson.deserialize(revision_metadata),
+ )
self.revisions.save(data)
return revision
@@ -47,10 +49,7 @@
entry = self.revisions.find_one({'_oid' : id, '_rev' : revision})
if entry:
- del entry['_oid']
- del entry['_rev']
- del entry['_id']
- return anyjson.serialize(entry)
+ return anyjson.serialize(entry._data)
raise errors.NoRevisionFound('No revision %d found for document with ID %s found' % (revision, id))
@@ -74,7 +73,7 @@
def revision_metadata(self, id, revision):
revision = self.revisions.find_one({'_oid' : id, '_rev' : revision})
- return revision
+ return revision._metadata
def remove_revision(self, id, revision):
More information about the checkins
mailing list