diff options
| author | Andy McCurdy <andy@andymccurdy.com> | 2010-03-04 11:17:34 -0800 |
|---|---|---|
| committer | Andy McCurdy <andy@andymccurdy.com> | 2010-03-04 11:17:34 -0800 |
| commit | 800720c7bd07c31511239df27d512e98d757e945 (patch) | |
| tree | 5aafd374a1b7fcb62f6831b0c2e73b822467b815 | |
| parent | 084d1d6f3342d4cbeeb1dd2a5f0da462628fb006 (diff) | |
| parent | c3b3c1bc93849b4c3fc23dc7105984411b20c4d8 (diff) | |
| download | redis-py-800720c7bd07c31511239df27d512e98d757e945.tar.gz | |
Merge remote branch 'tabo/master'
| -rw-r--r-- | redis/client.py | 8 | ||||
| -rw-r--r-- | tests/server_commands.py | 12 |
2 files changed, 15 insertions, 5 deletions
diff --git a/redis/client.py b/redis/client.py index 5b2e1b4..fe38909 100644 --- a/redis/client.py +++ b/redis/client.py @@ -153,7 +153,6 @@ class Redis(object): Connection and Pipeline derive from this, implementing how the commands are sent and received to the Redis server """ - RESPONSE_CALLBACKS = dict_merge( string_keys_to_dict( 'AUTH DEL EXISTS EXPIRE MOVE MSETNX RENAMENX SADD SISMEMBER SMOVE ' @@ -165,9 +164,14 @@ class Redis(object): 'ZCARD ZREMRANGEBYSCORE', int ), + string_keys_to_dict( + # these return OK, or int if redis-server is >=1.3.4 + 'LPUSH RPUSH', + lambda r: isinstance(r, int) and r or r == 'OK' + ), string_keys_to_dict('ZSCORE ZINCRBY', float), string_keys_to_dict( - 'FLUSHALL FLUSHDB LPUSH LSET LTRIM MSET RENAME RPUSH ' + 'FLUSHALL FLUSHDB LSET LTRIM MSET RENAME ' 'SAVE SELECT SET SHUTDOWN', lambda r: r == 'OK' ), diff --git a/tests/server_commands.py b/tests/server_commands.py index 2d9c707..a245856 100644 --- a/tests/server_commands.py +++ b/tests/server_commands.py @@ -1,6 +1,7 @@ import redis import unittest import datetime +from distutils.version import StrictVersion class ServerCommandsTestCase(unittest.TestCase): @@ -237,8 +238,13 @@ class ServerCommandsTestCase(unittest.TestCase): self.assertRaises(redis.ResponseError, self.client.lpush, 'a', 'a') del self.client['a'] # real logic - self.assert_(self.client.lpush('a', 'b')) - self.assert_(self.client.lpush('a', 'a')) + version = self.client.info()['redis_version'] + if StrictVersion(version) >= StrictVersion('1.3.4'): + self.assertEqual(1, self.client.lpush('a', 'b')) + self.assertEqual(2, self.client.lpush('a', 'a')) + else: + self.assert_(self.client.lpush('a', 'b')) + self.assert_(self.client.lpush('a', 'a')) self.assertEquals(self.client.lindex('a', 0), 'a') self.assertEquals(self.client.lindex('a', 1), 'b') @@ -715,4 +721,4 @@ class ServerCommandsTestCase(unittest.TestCase): self.assertEquals(num, 4) self.assertEquals(self.client.lrange('sorted', 0, 10), ['vodka', 'milk', 'gin', 'apple juice']) -
\ No newline at end of file + |
