diff options
author | Sean Reifschneider <jafo@tummy.com> | 2013-06-02 15:54:20 -0600 |
---|---|---|
committer | Sean Reifschneider <jafo@tummy.com> | 2013-06-02 15:54:20 -0600 |
commit | b7054a964aed0e6d86e853e60aab09cd0183b9f6 (patch) | |
tree | 293c79a9f0bf29ee5d6679ae7e404eeb415bf200 | |
parent | fb025cced02e590b23153ba19b30f727392ddb14 (diff) | |
download | python-memcached-b7054a964aed0e6d86e853e60aab09cd0183b9f6.tar.gz |
Fixing AttributeError raised during set_multi.
-rw-r--r-- | memcache.py | 14 | ||||
-rw-r--r-- | tests/test_setmulti.py | 2 |
2 files changed, 11 insertions, 5 deletions
diff --git a/memcache.py b/memcache.py index 41c361b..38c3367 100644 --- a/memcache.py +++ b/memcache.py @@ -746,8 +746,7 @@ class Client(local): for server, keys in server_keys.iteritems(): try: for key in keys: - line = server.readline() - if line == 'STORED': + if server.readline() == 'STORED': continue else: notstored.append(prefixed_to_orig_key[key]) #un-mangle. @@ -1173,12 +1172,19 @@ class _Host(object): an empty string. """ buf = self.buffer - recv = self.socket.recv + if self.socket: + recv = self.socket.recv + else: + recv = None + while True: index = buf.find('\r\n') if index >= 0: break - data = recv(4096) + if recv: + data = recv(4096) + else: + data = '' if not data: # connection close, let's kill it and raise self.close_socket() diff --git a/tests/test_setmulti.py b/tests/test_setmulti.py index cba43f8..815ccfd 100644 --- a/tests/test_setmulti.py +++ b/tests/test_setmulti.py @@ -59,7 +59,7 @@ class test_Memcached_Set_Multi(unittest.TestCase): mapping = {'foo': 'FOO', 'bar': 'BAR'} bad_keys = client.set_multi(mapping) - self.assertEqual(bad_keys, 1) #@@@ Fix this + self.assertEqual(sorted(bad_keys), ['bar', 'foo']) if DEBUG: print 'set_multi({0!r}) -> {1!r}'.format(mapping, bad_keys) |