summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Reifschneider <jafo@tummy.com>2013-06-02 01:19:24 -0600
committerSean Reifschneider <jafo@tummy.com>2013-06-02 01:19:24 -0600
commitc9143d30c2d92fe177902361916cbeb067b97ebe (patch)
tree721cc648dc3044ed0122178df6c9b231c5fc939a
parent6f6c0c54f7d4b9cfa1469bafe47c075d6a47f2d0 (diff)
downloadpython-memcached-c9143d30c2d92fe177902361916cbeb067b97ebe.tar.gz
Reverting back to re.match for key checking.
-rw-r--r--ChangeLog8
-rw-r--r--memcache.py19
2 files changed, 12 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 1ce8691..57ca33b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Sun, 02 Jun 2013 01:08:26 -0600 Sean Reifschneider <jafo@tummy.com>
+
+ * 1.52 release.
+
+ * Changing check_keys to use re.match() instead of str.translate(),
+ because re.match() works with Python < 2.6.
+ Found by Giovanni Di Milia.
+
Mon, 06 May 2013 15:29:07 -0600 Sean Reifschneider <jafo@tummy.com>
* 1.51 release.
diff --git a/memcache.py b/memcache.py
index 68caf4a..ed63853 100644
--- a/memcache.py
+++ b/memcache.py
@@ -77,12 +77,7 @@ try:
except ImportError:
from StringIO import StringIO
-avoid_string_translate = sys.version_info[:2] < (2, 6)
-if avoid_string_translate:
- import re
- valid_key_chars_re = re.compile('[\x21-\x7e\x80-\xff]+$')
-else:
- invalid_key_characters = ''.join(map(chr, range(33) + [127]))
+valid_key_chars_re = re.compile('[\x21-\x7e\x80-\xff]+$')
# Original author: Evan Martin of Danga Interactive
@@ -1052,15 +1047,9 @@ class Client(local):
len(key) + key_extra_len > self.server_max_key_length:
raise Client.MemcachedKeyLengthError("Key length is > %s"
% self.server_max_key_length)
- if avoid_string_translate:
- if not valid_key_chars_re.match(key):
- raise Client.MemcachedKeyCharacterError(
- "Control characters not allowed")
- else:
- if len(key) != len(
- key.translate(None, invalid_key_characters)):
- raise Client.MemcachedKeyCharacterError(
- "Control characters not allowed")
+ if not valid_key_chars_re.match(key):
+ raise Client.MemcachedKeyCharacterError(
+ "Control characters not allowed")
class _Host(object):