diff options
author | Sean Reifschneider <jafo@tummy.com> | 2013-06-02 01:19:24 -0600 |
---|---|---|
committer | Sean Reifschneider <jafo@tummy.com> | 2013-06-02 01:19:24 -0600 |
commit | c9143d30c2d92fe177902361916cbeb067b97ebe (patch) | |
tree | 721cc648dc3044ed0122178df6c9b231c5fc939a | |
parent | 6f6c0c54f7d4b9cfa1469bafe47c075d6a47f2d0 (diff) | |
download | python-memcached-c9143d30c2d92fe177902361916cbeb067b97ebe.tar.gz |
Reverting back to re.match for key checking.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | memcache.py | 19 |
2 files changed, 12 insertions, 15 deletions
@@ -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): |