Accepting request 786458 from home:pgajdos:python
- version update to 3.4.1 * 3.4.1 * Move the username argument in the Redis and Connection classes to the end of the argument list. This helps those poor souls that specify all their connection options as non-keyword arguments. #1276 * Prior to ACL support, redis-py ignored the username component of Connection URLs. With ACL support, usernames are no longer ignored and are used to authenticate against an ACL rule. Some cloud vendors with managed Redis instances (like Heroku) provide connection URLs with a username component pre-ACL that is not intended to be used. Sending that username to Redis servers < 6.0.0 results in an error. Attempt to detect this condition and retry the AUTH command with only the password such that authentication continues to work for these users. #1274 * Removed the __eq__ hooks to Redis and ConnectionPool that were added in 3.4.0. This ended up being a bad idea as two separate connection pools be considered equal yet manage a completely separate set of connections. * 3.4.0 * Allow empty pipelines to be executed if there are WATCHed keys. This is a convenient way to test if any of the watched keys changed without actually running any other commands. Thanks @brianmaissy. #1233, #1234 * Removed support for end of life Python 3.4. * Added support for all ACL commands in Redis 6. Thanks @IAmATeaPot418 for helping. * Pipeline instances now always evaluate to True. Prior to this change, pipeline instances relied on __len__ for boolean evaluation which meant that pipelines with no commands on the stack would be considered False. #994 * Client instances and Connection pools now support a 'client_name' OBS-URL: https://build.opensuse.org/request/show/786458 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-redis?expand=0&rev=52
This commit is contained in:
parent
bf0bba0abf
commit
f9b4e360ab
@ -1,62 +0,0 @@
|
|||||||
From 90532bd2c4d6d74110ab37d800653d7abafe2e0b Mon Sep 17 00:00:00 2001
|
|
||||||
From: tuxmaster5000 <837503+tuxmaster5000@users.noreply.github.com>
|
|
||||||
Date: Fri, 18 Oct 2019 09:47:27 +0200
|
|
||||||
Subject: [PATCH] Support old EPEL-7 Redis. (#1227)
|
|
||||||
Upstream: merged(https://github.com/andymccurdy/redis-py/pull/1227)
|
|
||||||
|
|
||||||
Fix test suite with Redis versions pre-5.0.0
|
|
||||||
|
|
||||||
---
|
|
||||||
tests/test_monitor.py | 7 +++++++
|
|
||||||
1 file changed, 7 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/tests/test_monitor.py b/tests/test_monitor.py
|
|
||||||
index 09ec21bd..fe9e68a9 100644
|
|
||||||
--- a/tests/test_monitor.py
|
|
||||||
+++ b/tests/test_monitor.py
|
|
||||||
@@ -1,5 +1,7 @@
|
|
||||||
from __future__ import unicode_literals
|
|
||||||
from redis._compat import unicode
|
|
||||||
+from .conftest import (skip_if_server_version_lt, skip_if_server_version_gte,
|
|
||||||
+ skip_unless_arch_bits)
|
|
||||||
|
|
||||||
|
|
||||||
def wait_for_command(client, monitor, command):
|
|
||||||
@@ -17,12 +19,14 @@ def wait_for_command(client, monitor, command):
|
|
||||||
|
|
||||||
|
|
||||||
class TestPipeline(object):
|
|
||||||
+ @skip_if_server_version_lt('5.0.0')
|
|
||||||
def test_wait_command_not_found(self, r):
|
|
||||||
"Make sure the wait_for_command func works when command is not found"
|
|
||||||
with r.monitor() as m:
|
|
||||||
response = wait_for_command(r, m, 'nothing')
|
|
||||||
assert response is None
|
|
||||||
|
|
||||||
+ @skip_if_server_version_lt('5.0.0')
|
|
||||||
def test_response_values(self, r):
|
|
||||||
with r.monitor() as m:
|
|
||||||
r.ping()
|
|
||||||
@@ -34,12 +38,14 @@ def test_response_values(self, r):
|
|
||||||
assert isinstance(response['client_port'], unicode)
|
|
||||||
assert response['command'] == 'PING'
|
|
||||||
|
|
||||||
+ @skip_if_server_version_lt('5.0.0')
|
|
||||||
def test_command_with_quoted_key(self, r):
|
|
||||||
with r.monitor() as m:
|
|
||||||
r.get('foo"bar')
|
|
||||||
response = wait_for_command(r, m, 'GET foo"bar')
|
|
||||||
assert response['command'] == 'GET foo"bar'
|
|
||||||
|
|
||||||
+ @skip_if_server_version_lt('5.0.0')
|
|
||||||
def test_command_with_binary_data(self, r):
|
|
||||||
with r.monitor() as m:
|
|
||||||
byte_string = b'foo\x92'
|
|
||||||
@@ -47,6 +53,7 @@ def test_command_with_binary_data(self, r):
|
|
||||||
response = wait_for_command(r, m, 'GET foo\\x92')
|
|
||||||
assert response['command'] == 'GET foo\\x92'
|
|
||||||
|
|
||||||
+ @skip_if_server_version_lt('5.0.0')
|
|
||||||
def test_lua_script(self, r):
|
|
||||||
with r.monitor() as m:
|
|
||||||
script = 'return redis.call("GET", "foo")'
|
|
@ -1,3 +1,58 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 19 11:37:31 UTC 2020 - pgajdos@suse.com
|
||||||
|
|
||||||
|
- version update to 3.4.1
|
||||||
|
* 3.4.1
|
||||||
|
* Move the username argument in the Redis and Connection classes to the
|
||||||
|
end of the argument list. This helps those poor souls that specify all
|
||||||
|
their connection options as non-keyword arguments. #1276
|
||||||
|
* Prior to ACL support, redis-py ignored the username component of
|
||||||
|
Connection URLs. With ACL support, usernames are no longer ignored and
|
||||||
|
are used to authenticate against an ACL rule. Some cloud vendors with
|
||||||
|
managed Redis instances (like Heroku) provide connection URLs with a
|
||||||
|
username component pre-ACL that is not intended to be used. Sending that
|
||||||
|
username to Redis servers < 6.0.0 results in an error. Attempt to detect
|
||||||
|
this condition and retry the AUTH command with only the password such
|
||||||
|
that authentication continues to work for these users. #1274
|
||||||
|
* Removed the __eq__ hooks to Redis and ConnectionPool that were added
|
||||||
|
in 3.4.0. This ended up being a bad idea as two separate connection
|
||||||
|
pools be considered equal yet manage a completely separate set of
|
||||||
|
connections.
|
||||||
|
* 3.4.0
|
||||||
|
* Allow empty pipelines to be executed if there are WATCHed keys.
|
||||||
|
This is a convenient way to test if any of the watched keys changed
|
||||||
|
without actually running any other commands. Thanks @brianmaissy.
|
||||||
|
#1233, #1234
|
||||||
|
* Removed support for end of life Python 3.4.
|
||||||
|
* Added support for all ACL commands in Redis 6. Thanks @IAmATeaPot418
|
||||||
|
for helping.
|
||||||
|
* Pipeline instances now always evaluate to True. Prior to this change,
|
||||||
|
pipeline instances relied on __len__ for boolean evaluation which
|
||||||
|
meant that pipelines with no commands on the stack would be considered
|
||||||
|
False. #994
|
||||||
|
* Client instances and Connection pools now support a 'client_name'
|
||||||
|
argument. If supplied, all connections created will call CLIENT SETNAME
|
||||||
|
as soon as the connection is opened. Thanks to @Habbie for supplying
|
||||||
|
the basis of this change. #802
|
||||||
|
* Added the 'ssl_check_hostname' argument to specify whether SSL
|
||||||
|
connections should require the server hostname to match the hostname
|
||||||
|
specified in the SSL cert. By default 'ssl_check_hostname' is False
|
||||||
|
for backwards compatibility. #1196
|
||||||
|
* Slightly optimized command packing. Thanks @Deneby67. #1255
|
||||||
|
* Added support for the TYPE argument to SCAN. Thanks @netocp. #1220
|
||||||
|
* Better thread and fork safety in ConnectionPool and
|
||||||
|
BlockingConnectionPool. Added better locking to synchronize critical
|
||||||
|
sections rather than relying on CPython-specific implementation details
|
||||||
|
relating to atomic operations. Adjusted how the pools identify and
|
||||||
|
deal with a fork. Added a ChildDeadlockedError exception that is
|
||||||
|
raised by child processes in the very unlikely chance that a deadlock
|
||||||
|
is encountered. Thanks @gmbnomis, @mdellweg, @yht804421715. #1270,
|
||||||
|
#1138, #1178, #906, #1262
|
||||||
|
* Added __eq__ hooks to the Redis and ConnectionPool classes.
|
||||||
|
Thanks @brainix. #1240
|
||||||
|
- deleted patches
|
||||||
|
- 0001-fix-tests-with-redis-pre-5.0.0.patch (upstreamed)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Dec 13 19:00:52 UTC 2019 - Matthias Fehring <buschmann23@opensuse.org>
|
Fri Dec 13 19:00:52 UTC 2019 - Matthias Fehring <buschmann23@opensuse.org>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-redis
|
# spec file for package python-redis
|
||||||
#
|
#
|
||||||
# Copyright (c) 2019 SUSE LLC
|
# Copyright (c) 2020 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -18,14 +18,13 @@
|
|||||||
|
|
||||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||||
Name: python-redis
|
Name: python-redis
|
||||||
Version: 3.3.11
|
Version: 3.4.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Python client for Redis key-value store
|
Summary: Python client for Redis key-value store
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: Development/Languages/Python
|
Group: Development/Languages/Python
|
||||||
URL: https://github.com/andymccurdy/redis-py
|
URL: https://github.com/andymccurdy/redis-py
|
||||||
Source: https://files.pythonhosted.org/packages/source/r/redis/redis-%{version}.tar.gz
|
Source: https://files.pythonhosted.org/packages/source/r/redis/redis-%{version}.tar.gz
|
||||||
Patch0: 0001-fix-tests-with-redis-pre-5.0.0.patch
|
|
||||||
BuildRequires: %{python_module mock}
|
BuildRequires: %{python_module mock}
|
||||||
BuildRequires: %{python_module pytest >= 2.7.0}
|
BuildRequires: %{python_module pytest >= 2.7.0}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
@ -43,7 +42,6 @@ The Python interface to the Redis key-value store.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n redis-%{version}
|
%setup -q -n redis-%{version}
|
||||||
%patch0 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%python_build
|
%python_build
|
||||||
@ -54,7 +52,7 @@ The Python interface to the Redis key-value store.
|
|||||||
|
|
||||||
%check
|
%check
|
||||||
%{_sbindir}/redis-server --port 6379 &
|
%{_sbindir}/redis-server --port 6379 &
|
||||||
%python_exec setup.py test
|
%pytest
|
||||||
killall redis-server
|
killall redis-server
|
||||||
|
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:8d0fc278d3f5e1249967cba2eb4a5632d19e45ce5c09442b8422d15ee2c22cc2
|
|
||||||
size 131072
|
|
3
redis-3.4.1.tar.gz
Normal file
3
redis-3.4.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:0dcfb335921b88a850d461dc255ff4708294943322bd55de6cfd68972490ca1f
|
||||||
|
size 137568
|
Loading…
Reference in New Issue
Block a user