[Erp5-report] r27634 - /erp5/trunk/products/ERP5Type/patches/memcache_client.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Jun 17 15:28:54 CEST 2009


Author: kazuhiko
Date: Wed Jun 17 15:28:52 2009
New Revision: 27634

URL: http://svn.erp5.org?rev=27634&view=rev
Log:
* patch memcache.check_key not Client.check_key
* skip key length check in check_key() because we have no information about key length in memcache class level.

Modified:
    erp5/trunk/products/ERP5Type/patches/memcache_client.py

Modified: erp5/trunk/products/ERP5Type/patches/memcache_client.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/patches/memcache_client.py?rev=27634&r1=27633&r2=27634&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/patches/memcache_client.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/patches/memcache_client.py [utf8] Wed Jun 17 15:28:52 2009
@@ -1,5 +1,6 @@
 # -*- coding: utf-8 -*-
 #Code based on python-memcached-1.44
+import types
 try:
   import cPickle as pickle
 except ImportError:
@@ -66,7 +67,7 @@
     except TypeError:
         self.picklerIsKeyword = False
 
-  def Client_check_key(key, key_extra_len=0):
+  def memcache_check_key(key, key_extra_len=0):
     """Checks sanity of key.  Fails if:
         Key length is > SERVER_MAX_KEY_LENGTH (Raises MemcachedKeyLength).
         Contains control characters  (Raises MemcachedKeyCharacterError).
@@ -86,10 +87,12 @@
       raise Client.MemcachedKeyTypeError, ("Key must be str()'s")
 
     if isinstance(key, basestring):
-      if self.server_max_key_length != 0 and len(key) + key_extra_len > self.server_max_key_length:
-         raise Client.MemcachedKeyLengthError, ("Key length is > %s"
-                   % self.server_max_key_length)
       for char in key:
+        #Patch: skip key length check because we have no information
+        #about key length in memcache class level.
+        if 0 and len(key) + key_extra_len > SERVER_MAX_KEY_LENGTH:
+             raise Client.MemcachedKeyLengthError, ("Key length is > %s"
+                     % SERVER_MAX_KEY_LENGTH)
         if ord(char) < 32 or ord(char) == 127:
             raise Client.MemcachedKeyCharacterError, "Control characters not allowed"
 
@@ -141,6 +144,6 @@
     return (flags, len(val), val)
 
   Client.__init__ = Client__init__
-  Client.check_key = Client_check_key
   Client._val_to_store_info = Client__val_to_store_info
-  memcache.Client = Client
+  memcache.check_key = memcache_check_key
+  del Client__init__, Client__val_to_store_info, memcache_check_key




More information about the Erp5-report mailing list