[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