Skip to content

Commit ab3061a

Browse files
committed
fixed #15 where zscore previously failed for members of a sorted set that didn't exist.
also made anal cleanup changes removing whitespace before colons!
1 parent 7915ef8 commit ab3061a

File tree

2 files changed

+16
-13
lines changed

2 files changed

+16
-13
lines changed

redis/client.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,8 @@ class Redis(threading.local):
169169
'LPUSH RPUSH',
170170
lambda r: isinstance(r, int) and r or r == 'OK'
171171
),
172-
string_keys_to_dict('ZSCORE ZINCRBY', float),
172+
string_keys_to_dict('ZSCORE ZINCRBY',
173+
lambda r: r is not None and float(r) or r),
173174
string_keys_to_dict(
174175
'FLUSHALL FLUSHDB LSET LTRIM MSET RENAME '
175176
'SAVE SELECT SET SHUTDOWN',

tests/server_commands.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -108,15 +108,15 @@ def test_mget(self):
108108
['1', None, '2', '3'])
109109

110110
def test_mset(self):
111-
d = {'a' : '1', 'b' : '2', 'c' : '3'}
111+
d = {'a': '1', 'b': '2', 'c': '3'}
112112
self.assert_(self.client.mset(d))
113113
for k,v in d.iteritems():
114114
self.assertEquals(self.client[k], v)
115115

116116
def test_msetnx(self):
117-
d = {'a' : '1', 'b' : '2', 'c' : '3'}
117+
d = {'a': '1', 'b': '2', 'c': '3'}
118118
self.assert_(self.client.msetnx(d))
119-
d2 = {'a' : 'x', 'd' : '4'}
119+
d2 = {'a': 'x', 'd': '4'}
120120
self.assert_(not self.client.msetnx(d2))
121121
for k,v in d.iteritems():
122122
self.assertEquals(self.client[k], v)
@@ -554,7 +554,7 @@ def make_zset(self, name, d):
554554
self.client.zadd(name, k, v)
555555

556556
def test_zadd(self):
557-
self.make_zset('a', {'a1' : 1, 'a2' : 2, 'a3' : 3})
557+
self.make_zset('a', {'a1': 1, 'a2': 2, 'a3': 3})
558558
self.assertEquals(self.client.zrange('a', 0, 3), ['a1', 'a2', 'a3'])
559559

560560
def test_zcard(self):
@@ -563,7 +563,7 @@ def test_zcard(self):
563563
self.assertRaises(redis.ResponseError, self.client.zcard, 'a')
564564
del self.client['a']
565565
# real logic
566-
self.make_zset('a', {'a1' : 1, 'a2' : 2, 'a3' : 3})
566+
self.make_zset('a', {'a1': 1, 'a2': 2, 'a3': 3})
567567
self.assertEquals(self.client.zcard('a'), 3)
568568

569569
def test_zincrby(self):
@@ -572,7 +572,7 @@ def test_zincrby(self):
572572
self.assertRaises(redis.ResponseError, self.client.zincrby, 'a', 'a1')
573573
del self.client['a']
574574
# real logic
575-
self.make_zset('a', {'a1' : 1, 'a2' : 2, 'a3' : 3})
575+
self.make_zset('a', {'a1': 1, 'a2': 2, 'a3': 3})
576576
self.assertEquals(self.client.zincrby('a', 'a2'), 3.0)
577577
self.assertEquals(self.client.zincrby('a', 'a3', amount=5), 8.0)
578578
self.assertEquals(self.client.zscore('a', 'a2'), 3.0)
@@ -584,7 +584,7 @@ def test_zrange(self):
584584
self.assertRaises(redis.ResponseError, self.client.zrange, 'a', 0, 1)
585585
del self.client['a']
586586
# real logic
587-
self.make_zset('a', {'a1' : 1, 'a2' : 2, 'a3' : 3})
587+
self.make_zset('a', {'a1': 1, 'a2': 2, 'a3': 3})
588588
self.assertEquals(self.client.zrange('a', 0, 1), ['a1', 'a2'])
589589
self.assertEquals(self.client.zrange('a', 1, 2), ['a2', 'a3'])
590590
self.assertEquals(self.client.zrange('a', 0, 1, withscores=True),
@@ -602,7 +602,7 @@ def test_zrangebyscore(self):
602602
'a', 0, 1)
603603
del self.client['a']
604604
# real logic
605-
self.make_zset('a', {'a1' : 1, 'a2' : 2, 'a3' : 3, 'a4' : 4, 'a5' : 5})
605+
self.make_zset('a', {'a1': 1, 'a2': 2, 'a3': 3, 'a4': 4, 'a5': 5})
606606
self.assertEquals(self.client.zrangebyscore('a', 2, 4),
607607
['a2', 'a3', 'a4'])
608608
self.assertEquals(self.client.zrangebyscore('a', 2, 4, start=1, num=2),
@@ -618,7 +618,7 @@ def test_zrem(self):
618618
self.assertRaises(redis.ResponseError, self.client.zrem, 'a', 'a1')
619619
del self.client['a']
620620
# real logic
621-
self.make_zset('a', {'a1' : 1, 'a2' : 2, 'a3' : 3})
621+
self.make_zset('a', {'a1': 1, 'a2': 2, 'a3': 3})
622622
self.assertEquals(self.client.zrem('a', 'a2'), True)
623623
self.assertEquals(self.client.zrange('a', 0, 5), ['a1', 'a3'])
624624
self.assertEquals(self.client.zrem('a', 'b'), False)
@@ -631,7 +631,7 @@ def test_zremrangebyscore(self):
631631
'a', 0, 1)
632632
del self.client['a']
633633
# real logic
634-
self.make_zset('a', {'a1' : 1, 'a2' : 2, 'a3' : 3, 'a4' : 4, 'a5' : 5})
634+
self.make_zset('a', {'a1': 1, 'a2': 2, 'a3': 3, 'a4': 4, 'a5': 5})
635635
self.assertEquals(self.client.zremrangebyscore('a', 2, 4), 3)
636636
self.assertEquals(self.client.zrange('a', 0, 5), ['a1', 'a5'])
637637
self.assertEquals(self.client.zremrangebyscore('a', 2, 4), 0)
@@ -644,7 +644,7 @@ def test_zrevrange(self):
644644
'a', 0, 1)
645645
del self.client['a']
646646
# real logic
647-
self.make_zset('a', {'a1' : 1, 'a2' : 2, 'a3' : 3})
647+
self.make_zset('a', {'a1': 1, 'a2': 2, 'a3': 3})
648648
self.assertEquals(self.client.zrevrange('a', 0, 1), ['a3', 'a2'])
649649
self.assertEquals(self.client.zrevrange('a', 1, 2), ['a2', 'a1'])
650650
self.assertEquals(self.client.zrevrange('a', 0, 1, withscores=True),
@@ -661,8 +661,10 @@ def test_zscore(self):
661661
self.assertRaises(redis.ResponseError, self.client.zscore, 'a', 'a1')
662662
del self.client['a']
663663
# real logic
664-
self.make_zset('a', {'a1' : 1, 'a2' : 2, 'a3' : 3})
664+
self.make_zset('a', {'a1': 1, 'a2': 2, 'a3': 3})
665665
self.assertEquals(self.client.zscore('a', 'a2'), 2.0)
666+
# test a non-existant member
667+
self.assertEquals(self.client.zscore('a', 'a4'), None)
666668

667669
# HASHES
668670
def make_hash(self, key, d):

0 commit comments

Comments
 (0)