[Checkins] SVN: zopyx.versioning/trunk/ using cjson
Andreas Jung
andreas at andreas-jung.com
Fri Jul 2 03:41:17 EDT 2010
Log message for revision 114095:
using cjson
Changed:
U zopyx.versioning/trunk/setup.py
U zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py
U zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/tests/test_storage.py
-=-
Modified: zopyx.versioning/trunk/setup.py
===================================================================
--- zopyx.versioning/trunk/setup.py 2010-07-02 07:31:25 UTC (rev 114094)
+++ zopyx.versioning/trunk/setup.py 2010-07-02 07:41:17 UTC (rev 114095)
@@ -27,6 +27,7 @@
'zope.component',
'pymongo',
'unittest2',
+ 'python-cjson',
'nose',
# -*- Extra requirements: -*-
],
Modified: zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py
===================================================================
--- zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py 2010-07-02 07:31:25 UTC (rev 114094)
+++ zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py 2010-07-02 07:41:17 UTC (rev 114095)
@@ -2,14 +2,15 @@
Prototype storage implementation for MongoDB
"""
-import json
-import pymongo
+from pymongo.connection import Connection
+from cjson import encode as json_encode
+from cjson import decode as json_decode
+
from zope.interface import implements
from zopyx.versioning.interfaces import IVersionStorage
from zopyx.versioning import errors
-from pymongo.connection import Connection
class MongoDBStorage(object):
@@ -36,7 +37,7 @@
self.metadata.update({'_oid' : id}, {'$set' : {'_rev' : revision}} )
data = dict(_oid=id, _rev=revision)
- data.update(json.loads(version_data))
+ data.update(json_decode(version_data))
self.revisions.save(data)
return revision
@@ -51,7 +52,7 @@
del entry['_oid']
del entry['_rev']
del entry['_id']
- return json.dumps(entry)
+ return json_encode(entry)
raise errors.NoRevisionFound('No revision %d found for document with ID %s found' % (revision, id))
Modified: zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/tests/test_storage.py
===================================================================
--- zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/tests/test_storage.py 2010-07-02 07:31:25 UTC (rev 114094)
+++ zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/tests/test_storage.py 2010-07-02 07:41:17 UTC (rev 114095)
@@ -2,8 +2,10 @@
MongoDB storage tests
"""
+from cjson import encode as json_encode
+from cjson import decode as json_decode
+
import unittest2
-import json
from zope.interface.verify import verifyClass
@@ -27,7 +29,7 @@
def testStore(self):
version_data = {'text' : u'hello world', 'subject' : [u'kw1', u'kw2']}
for i in range(5):
- self.storage.store('42', json.dumps(version_data), 'ajung')
+ self.storage.store('42', json_encode(version_data), 'ajung')
revisions = self.storage.list_revisions('42')
self.assertEqual(revisions, [0,1,2,3,4])
More information about the checkins
mailing list