… the socket was lost / not established (self._fp = None) and the data cannot be read. Before, if the data could not be read, AttributeError was raised: ... File "/usr/local/dev/lib/python2.6/site-packages/redis/client.py", line 253, in _parse_response response = length and conn.read(length) or '' File "/usr/local/dev/lib/python2.6/site-packages/redis/client.py", line 65, in read return self._fp.read(length) AttributeError: 'NoneType' object has no attribute 'read'
…llback converted values. changed to a separate function to get proper handling. fixes #33
…ock for the bug report.
* Redis constructor accepts connection_pool keyword argument, that defaults to None (no shared connection pool). However, you can create ConnectionManager instance yourself and pass it to as many Redis instances as you want, making them use shared connection pool. * Renamed ConnectionManager to ConnectionPool. * Exported ConnectionPool, so now you can import it in your code and create instances. * Removed test_pipeline_with_fresh_connection test, since all redis instances don't use shared pool by default now. * corrected few typos in comments. * repaired the rest of tests.
…r not by passing the transaction parameter. This fixes #23.
* Dropped support of all protocols except multi-bulk the only protocol that yet to be released redis 2.0 is able understand * As a side-effect there is an 'execute_command' function exposed to the library user. As for now it is pretty useless :) * Added (only) two tests
…ttern is: redis.subscribe('my_channel') for msg in redis.listen(): channel, data = msg['channel'], msg['message'] ... listen() is a generator that will generate new messages as they come in. it will continue to block until all channels are unsubscribed.
…ost and port aren't specified, the host/port options on the existing connection are used. * added HINCRBY support
…forgot to actually change it! thanks to Sam (SJD) for the bug report