[Neo-report] r2132 vincent - in /trunk/neo/client: Storage.py app.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Jun 4 17:06:48 CEST 2010


Author: vincent
Date: Fri Jun  4 17:06:47 2010
New Revision: 2132

Log:
Make it possible to disable compression for new stores.

Modified:
    trunk/neo/client/Storage.py
    trunk/neo/client/app.py

Modified: trunk/neo/client/Storage.py
==============================================================================
--- trunk/neo/client/Storage.py [iso-8859-1] (original)
+++ trunk/neo/client/Storage.py [iso-8859-1] Fri Jun  4 17:06:47 2010
@@ -34,10 +34,11 @@
     __name__ = 'NEOStorage'
 
     def __init__(self, master_nodes, name, connector=None, read_only=False,
-                 **kw):
+                 compress=True, **kw):
         BaseStorage.BaseStorage.__init__(self, name)
         self._is_read_only = read_only
-        self.app = Application(master_nodes, name, connector)
+        self.app = Application(master_nodes, name, connector,
+            compress=compress)
 
     def load(self, oid, version=None):
         try:

Modified: trunk/neo/client/app.py
==============================================================================
--- trunk/neo/client/app.py [iso-8859-1] (original)
+++ trunk/neo/client/app.py [iso-8859-1] Fri Jun  4 17:06:47 2010
@@ -122,7 +122,7 @@
 class Application(object):
     """The client node application."""
 
-    def __init__(self, master_nodes, name, connector=None, **kw):
+    def __init__(self, master_nodes, name, connector=None, compress=True, **kw):
         # Start polling thread
         self.em = EventManager()
         self.poll_thread = ThreadedPoll(self.em)
@@ -178,6 +178,7 @@
         lock = Lock()
         self._nm_acquire = lock.acquire
         self._nm_release = lock.release
+        self.compress = compress
 
     @profiler_decorator
     def _handlePacket(self, conn, packet, handler=None):
@@ -572,12 +573,16 @@
         if data is None:
             # this is a George Bailey object, stored as an empty string
             data = ''
-        compressed_data = compress(data)
-        if len(compressed_data) > len(data):
+        if self.compress:
+            compressed_data = compress(data)
+            if len(compressed_data) > len(data):
+                compressed_data = data
+                compression = 0
+            else:
+                compression = 1
+        else:
             compressed_data = data
             compression = 0
-        else:
-            compression = 1
         checksum = makeChecksum(compressed_data)
         p = Packets.AskStoreObject(oid, serial, compression,
                  checksum, compressed_data, self.local_var.tid)





More information about the Neo-report mailing list