summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Reifschneider <jafo@tummy.com>2013-06-02 15:54:20 -0600
committerSean Reifschneider <jafo@tummy.com>2013-06-02 15:54:20 -0600
commitb7054a964aed0e6d86e853e60aab09cd0183b9f6 (patch)
tree293c79a9f0bf29ee5d6679ae7e404eeb415bf200
parentfb025cced02e590b23153ba19b30f727392ddb14 (diff)
downloadpython-memcached-b7054a964aed0e6d86e853e60aab09cd0183b9f6.tar.gz
Fixing AttributeError raised during set_multi.
-rw-r--r--memcache.py14
-rw-r--r--tests/test_setmulti.py2
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)