[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