Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-python-redis-lock for
openSUSE:Factory checked in at 2022-10-08 01:25:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-redis-lock (Old)
and /work/SRC/openSUSE:Factory/.python-python-redis-lock.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-redis-lock"
Sat Oct 8 01:25:25 2022 rev:5 rq:1008707 version:3.7.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-python-redis-lock/python-python-redis-lock.changes
2021-03-25 14:52:35.136501348 +0100
+++
/work/SRC/openSUSE:Factory/.python-python-redis-lock.new.2275/python-python-redis-lock.changes
2022-10-08 01:25:44.598300980 +0200
@@ -1,0 +2,18 @@
+Thu Oct 6 22:49:02 UTC 2022 - Yogalakshmi Arunachalam <[email protected]>
+
+- Update to version 3.7.0 (2020-11-20)
+
+ Made logger names more specific. Now can have granular filtering on these
new logger names:
+ redis_lock.acquire (emits DEBUG messages)
+ redis_lock.acquire (emits WARN messages)
+ redis_lock.acquire (emits INFO messages)
+ redis_lock.refresh.thread.start (emits DEBUG messages)
+ redis_lock.refresh.thread.exit (emits DEBUG messages)
+ redis_lock.refresh.start (emits DEBUG messages)
+ redis_lock.refresh.shutdown (emits DEBUG messages)
+ redis_lock.refresh.exit (emits DEBUG messages)
+ redis_lock.release (emits DEBUG messages)
+ Contributed by Salomon Smeke Cohen in #80.
+ Fixed few CI issues regarding doc checks. Contributed by Salomon Smeke Cohen
in #81.
+
+-------------------------------------------------------------------
Old:
----
python-redis-lock-3.6.0.tar.gz
New:
----
python-redis-lock-3.7.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-redis-lock.spec ++++++
--- /var/tmp/diff_new_pack.Zwk2UI/_old 2022-10-08 01:25:45.022301954 +0200
+++ /var/tmp/diff_new_pack.Zwk2UI/_new 2022-10-08 01:25:45.026301963 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-python-redis-lock
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define skip_python2 1
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-python-redis-lock
-Version: 3.6.0
+Version: 3.7.0
Release: 0
Summary: Lock context manager implemented via redis SETNX/BLPOP
License: BSD-2-Clause
++++++ python-redis-lock-3.6.0.tar.gz -> python-redis-lock-3.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/.bumpversion.cfg
new/python-redis-lock-3.7.0/.bumpversion.cfg
--- old/python-redis-lock-3.6.0/.bumpversion.cfg 2020-07-23
22:26:54.000000000 +0200
+++ new/python-redis-lock-3.7.0/.bumpversion.cfg 2020-11-20
10:09:47.000000000 +0100
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 3.6.0
+current_version = 3.7.0
commit = True
tag = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/.cookiecutterrc
new/python-redis-lock-3.7.0/.cookiecutterrc
--- old/python-redis-lock-3.6.0/.cookiecutterrc 2020-07-23 14:48:06.000000000
+0200
+++ new/python-redis-lock-3.7.0/.cookiecutterrc 2020-11-20 10:02:58.000000000
+0100
@@ -1,9 +1,6 @@
# Generated by cookiepatcher, a small shim around cookiecutter (pip install
cookiepatcher)
-cookiecutter:
- _extensions:
- - jinja2_time.TimeExtension
- _template: /home/ionel/open-source/cookiecutter-pylibrary
+default_context:
allow_tests_inside_package: no
appveyor: no
c_extension_function: '-'
@@ -32,7 +29,7 @@
project_short_description: Lock context manager implemented via redis
SETNX/BLPOP.
pypi_badge: yes
pypi_disable_upload: no
- release_date: '2020-01-13'
+ release_date: '2020-07-23'
repo_hosting: github.com
repo_hosting_domain: github.com
repo_name: python-redis-lock
@@ -50,7 +47,7 @@
test_runner: pytest
travis: yes
travis_osx: no
- version: 3.5.0
+ version: 3.6.0
website: http://blog.ionelmc.ro
year_from: '2013'
year_to: '2020'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/.editorconfig
new/python-redis-lock-3.7.0/.editorconfig
--- old/python-redis-lock-3.6.0/.editorconfig 2020-07-23 14:48:06.000000000
+0200
+++ new/python-redis-lock-3.7.0/.editorconfig 2020-11-20 10:02:57.000000000
+0100
@@ -2,10 +2,11 @@
root = true
[*]
+# Use Unix-style newlines for most files (except Windows files, see below).
end_of_line = lf
trim_trailing_whitespace = true
-insert_final_newline = true
indent_style = space
+insert_final_newline = true
indent_size = 4
charset = utf-8
@@ -14,3 +15,6 @@
[*.{yml,yaml}]
indent_size = 2
+
+[*.tsv]
+indent_style = tab
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/.gitignore
new/python-redis-lock-3.7.0/.gitignore
--- old/python-redis-lock-3.6.0/.gitignore 2020-07-23 14:39:45.000000000
+0200
+++ new/python-redis-lock-3.7.0/.gitignore 2020-11-20 10:02:57.000000000
+0100
@@ -39,11 +39,14 @@
# Translations
*.mo
-# Mr Developer
+# Buildout
.mr.developer.cfg
+
+# IDE project files
.project
.pydevproject
.idea
+.vscode
*.iml
*.komodoproject
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/.pre-commit-config.yaml
new/python-redis-lock-3.7.0/.pre-commit-config.yaml
--- old/python-redis-lock-3.6.0/.pre-commit-config.yaml 2020-07-23
14:48:06.000000000 +0200
+++ new/python-redis-lock-3.7.0/.pre-commit-config.yaml 2020-11-20
10:02:56.000000000 +0100
@@ -2,7 +2,7 @@
# pre-commit install
# To update the pre-commit hooks run:
# pre-commit install-hooks
-exclude: '^(.tox|ci/templates|.bumpversion.cfg)(/|$)'
+exclude: '^(\.tox|ci/templates|\.bumpversion\.cfg)(/|$)'
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/.travis.yml
new/python-redis-lock-3.7.0/.travis.yml
--- old/python-redis-lock-3.6.0/.travis.yml 2020-07-23 14:55:57.000000000
+0200
+++ new/python-redis-lock-3.7.0/.travis.yml 2020-11-20 10:03:16.000000000
+0100
@@ -1,5 +1,6 @@
language: python
dist: xenial
+virt: lxd
cache: false
env:
global:
@@ -51,6 +52,18 @@
- TOXENV=py38-dj3-nocov
python: '3.8'
- env:
+ - TOXENV=py39-dj111-cover,codecov,coveralls
+ python: '3.9'
+ - env:
+ - TOXENV=py39-dj111-nocov
+ python: '3.9'
+ - env:
+ - TOXENV=py39-dj3-cover,codecov,coveralls
+ python: '3.9'
+ - env:
+ - TOXENV=py39-dj3-nocov
+ python: '3.9'
+ - env:
- TOXENV=pypy3-dj111-cover,codecov,coveralls
- TOXPYTHON=pypy3
python: 'pypy3'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/AUTHORS.rst
new/python-redis-lock-3.7.0/AUTHORS.rst
--- old/python-redis-lock-3.6.0/AUTHORS.rst 2020-07-23 14:42:25.000000000
+0200
+++ new/python-redis-lock-3.7.0/AUTHORS.rst 2020-11-20 10:03:13.000000000
+0100
@@ -15,3 +15,4 @@
* Julien Heller - https://github.com/flux627
* Przemys??aw Suliga - https://github.com/suligap
* Artem Slobodkin - https://github.com/artslob
+* Salomon Smeke Cohen - https://github.com/SalomonSmeke
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/CHANGELOG.rst
new/python-redis-lock-3.7.0/CHANGELOG.rst
--- old/python-redis-lock-3.6.0/CHANGELOG.rst 2020-07-23 22:26:22.000000000
+0200
+++ new/python-redis-lock-3.7.0/CHANGELOG.rst 2020-11-20 10:03:47.000000000
+0100
@@ -2,6 +2,25 @@
Changelog
=========
+3.7.0 (2020-11-20)
+------------------
+
+* Made logger names more specific. Now can have granular filtering on these
new logger names:
+
+ * ``redis_lock.acquire`` (emits `DEBUG` messages)
+ * ``redis_lock.acquire`` (emits `WARN` messages)
+ * ``redis_lock.acquire`` (emits `INFO` messages)
+ * ``redis_lock.refresh.thread.start`` (emits `DEBUG` messages)
+ * ``redis_lock.refresh.thread.exit`` (emits `DEBUG` messages)
+ * ``redis_lock.refresh.start`` (emits `DEBUG` messages)
+ * ``redis_lock.refresh.shutdown`` (emits `DEBUG` messages)
+ * ``redis_lock.refresh.exit`` (emits `DEBUG` messages)
+ * ``redis_lock.release`` (emits `DEBUG` messages)
+
+ Contributed by Salomon Smeke Cohen in `#80
<https://github.com/ionelmc/python-redis-lock/pull/80>`_.
+* Fixed few CI issues regarding doc checks.
+ Contributed by Salomon Smeke Cohen in `#81
<https://github.com/ionelmc/python-redis-lock/pull/81>`_.
+
3.6.0 (2020-07-23)
------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/CONTRIBUTING.rst
new/python-redis-lock-3.7.0/CONTRIBUTING.rst
--- old/python-redis-lock-3.6.0/CONTRIBUTING.rst 2020-07-23
14:48:06.000000000 +0200
+++ new/python-redis-lock-3.7.0/CONTRIBUTING.rst 2020-11-20
10:02:57.000000000 +0100
@@ -85,6 +85,6 @@
tox -e envname -- pytest -k test_myfeature
-To run all the test environments in *parallel* (you need to ``pip install
detox``)::
+To run all the test environments in *parallel*::
- detox
+ tox -p auto
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/PKG-INFO
new/python-redis-lock-3.7.0/PKG-INFO
--- old/python-redis-lock-3.6.0/PKG-INFO 2020-07-23 22:27:00.181324700
+0200
+++ new/python-redis-lock-3.7.0/PKG-INFO 2020-11-20 10:10:24.454780800
+0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: python-redis-lock
-Version: 3.6.0
+Version: 3.7.0
Summary: Lock context manager implemented via redis SETNX/BLPOP.
Home-page: https://github.com/ionelmc/python-redis-lock
Author: Ionel Cristian M??rie??
@@ -19,7 +19,7 @@
* Free software: BSD 2-Clause License
- Interface targeted to be exactly like `threading.Lock
<http://docs.python.org/2/library/threading.html#threading.Lock>`_.
+ Interface targeted to be exactly like `threading.Lock
<https://docs.python.org/2/library/threading.html#threading.Lock>`_.
Usage
=====
@@ -76,7 +76,7 @@
The dogpile is also known as the thundering herd effect or cache
stampede. Here's a pattern to avoid the problem
without serving stale data. The work will be performed a single time
and every client will wait for the fresh data.
- To use this you will need `django-redis
<https://github.com/niwibe/django-redis>`_, however, ``python-redis-lock``
+ To use this you will need `django-redis
<https://github.com/jazzband/django-redis>`_, however, ``python-redis-lock``
provides you a cache backend that has a cache method for your
convenience. Just install ``python-redis-lock`` like
this:
@@ -101,7 +101,7 @@
.. note::
If using a `django-redis` < `3.8.x`, you'll probably need
`redis_cache`
which has been deprecated in favor to `django_redis`. The
`redis_cache`
- module is removed in `django-redis` versions > `3.9.x`. See
`django-redis notes
<http://niwinz.github.io/django-redis/latest/#_configure_as_cache_backend>`_.
+ module is removed in `django-redis` versions > `3.9.x`. See
`django-redis notes
<https://github.com/jazzband/django-redis#configure-as-cache-backend>`_.
This backend just adds a convenient ``.lock(name, expire=None)``
function to django-redis's cache backend.
@@ -171,13 +171,13 @@
This is how it works:
- .. image::
https://raw.github.com/ionelmc/python-redis-lock/master/docs/redis-lock%20diagram%20(v3.0).png
+ .. image::
https://raw.githubusercontent.com/ionelmc/python-redis-lock/master/docs/redis-lock%20diagram%20(v3.0).png
:alt: python-redis-lock flow diagram
Documentation
=============
- https://python-redis-lock.readthedocs.org/
+ https://python-redis-lock.readthedocs.io/en/latest/
Development
===========
@@ -206,6 +206,25 @@
Changelog
=========
+ 3.7.0 (2020-11-20)
+ ------------------
+
+ * Made logger names more specific. Now can have granular filtering on
these new logger names:
+
+ * ``redis_lock.acquire`` (emits `DEBUG` messages)
+ * ``redis_lock.acquire`` (emits `WARN` messages)
+ * ``redis_lock.acquire`` (emits `INFO` messages)
+ * ``redis_lock.refresh.thread.start`` (emits `DEBUG` messages)
+ * ``redis_lock.refresh.thread.exit`` (emits `DEBUG` messages)
+ * ``redis_lock.refresh.start`` (emits `DEBUG` messages)
+ * ``redis_lock.refresh.shutdown`` (emits `DEBUG` messages)
+ * ``redis_lock.refresh.exit`` (emits `DEBUG` messages)
+ * ``redis_lock.release`` (emits `DEBUG` messages)
+
+ Contributed by Salomon Smeke Cohen in `#80
<https://github.com/ionelmc/python-redis-lock/pull/80>`_.
+ * Fixed few CI issues regarding doc checks.
+ Contributed by Salomon Smeke Cohen in `#81
<https://github.com/ionelmc/python-redis-lock/pull/81>`_.
+
3.6.0 (2020-07-23)
------------------
@@ -353,6 +372,7 @@
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Utilities
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/README.rst
new/python-redis-lock-3.7.0/README.rst
--- old/python-redis-lock-3.6.0/README.rst 2020-07-23 22:26:54.000000000
+0200
+++ new/python-redis-lock-3.7.0/README.rst 2020-11-20 10:09:47.000000000
+0100
@@ -29,7 +29,7 @@
.. |coveralls| image::
https://coveralls.io/repos/ionelmc/python-redis-lock/badge.svg?branch=master&service=github
:alt: Coverage Status
- :target: https://coveralls.io/r/ionelmc/python-redis-lock
+ :target: https://coveralls.io/github/ionelmc/python-redis-lock
.. |codecov| image::
https://codecov.io/gh/ionelmc/python-redis-lock/branch/master/graphs/badge.svg?branch=master
:alt: Coverage Status
@@ -51,9 +51,9 @@
:alt: Supported implementations
:target: https://pypi.org/project/python-redis-lock
-.. |commits-since| image::
https://img.shields.io/github/commits-since/ionelmc/python-redis-lock/v3.6.0.svg
+.. |commits-since| image::
https://img.shields.io/github/commits-since/ionelmc/python-redis-lock/v3.7.0.svg
:alt: Commits since latest release
- :target:
https://github.com/ionelmc/python-redis-lock/compare/v3.6.0...master
+ :target:
https://github.com/ionelmc/python-redis-lock/compare/v3.7.0...master
@@ -63,7 +63,7 @@
* Free software: BSD 2-Clause License
-Interface targeted to be exactly like `threading.Lock
<http://docs.python.org/2/library/threading.html#threading.Lock>`_.
+Interface targeted to be exactly like `threading.Lock
<https://docs.python.org/2/library/threading.html#threading.Lock>`_.
Usage
=====
@@ -120,7 +120,7 @@
The dogpile is also known as the thundering herd effect or cache stampede.
Here's a pattern to avoid the problem
without serving stale data. The work will be performed a single time and every
client will wait for the fresh data.
-To use this you will need `django-redis
<https://github.com/niwibe/django-redis>`_, however, ``python-redis-lock``
+To use this you will need `django-redis
<https://github.com/jazzband/django-redis>`_, however, ``python-redis-lock``
provides you a cache backend that has a cache method for your convenience.
Just install ``python-redis-lock`` like
this:
@@ -145,7 +145,7 @@
.. note::
If using a `django-redis` < `3.8.x`, you'll probably need `redis_cache`
which has been deprecated in favor to `django_redis`. The `redis_cache`
- module is removed in `django-redis` versions > `3.9.x`. See `django-redis
notes
<http://niwinz.github.io/django-redis/latest/#_configure_as_cache_backend>`_.
+ module is removed in `django-redis` versions > `3.9.x`. See `django-redis
notes <https://github.com/jazzband/django-redis#configure-as-cache-backend>`_.
This backend just adds a convenient ``.lock(name, expire=None)`` function to
django-redis's cache backend.
@@ -215,13 +215,13 @@
This is how it works:
-.. image::
https://raw.github.com/ionelmc/python-redis-lock/master/docs/redis-lock%20diagram%20(v3.0).png
+.. image::
https://raw.githubusercontent.com/ionelmc/python-redis-lock/master/docs/redis-lock%20diagram%20(v3.0).png
:alt: python-redis-lock flow diagram
Documentation
=============
-https://python-redis-lock.readthedocs.org/
+https://python-redis-lock.readthedocs.io/en/latest/
Development
===========
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/ci/templates/.travis.yml
new/python-redis-lock-3.7.0/ci/templates/.travis.yml
--- old/python-redis-lock-3.6.0/ci/templates/.travis.yml 2020-07-23
14:48:06.000000000 +0200
+++ new/python-redis-lock-3.7.0/ci/templates/.travis.yml 2020-11-20
10:02:57.000000000 +0100
@@ -1,5 +1,6 @@
language: python
dist: xenial
+virt: lxd
cache: false
env:
global:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/docs/conf.py
new/python-redis-lock-3.7.0/docs/conf.py
--- old/python-redis-lock-3.6.0/docs/conf.py 2020-07-23 22:26:54.000000000
+0200
+++ new/python-redis-lock-3.7.0/docs/conf.py 2020-11-20 10:09:47.000000000
+0100
@@ -20,15 +20,21 @@
year = '2013-2020'
author = 'Ionel Cristian M??rie??'
copyright = '{0}, {1}'.format(year, author)
-version = release = '3.6.0'
+version = release = '3.7.0'
+linkcheck_ignore = [
+ # This redirects to hosted % image on AWS.
+
'https://coveralls\\.io/repos/ionelmc/python\\-redis\\-lock/badge\\.svg\\?branch=master\\&service=github',
+ # This anchor is incorrectly marked as missing. GH bug?
+
'https://github\\.com/jazzband/django\\-redis\\#configure\\-as\\-cache\\-backend',
+]
pygments_style = 'trac'
templates_path = ['.']
extlinks = {
'issue': ('https://github.com/ionelmc/python-redis-lock/issues/%s', '#'),
'pr': ('https://github.com/ionelmc/python-redis-lock/pull/%s', 'PR #'),
}
-html_theme = "sphinx_py3doc_enhanced_theme"
+html_theme = 'sphinx_py3doc_enhanced_theme'
html_theme_path = [sphinx_py3doc_enhanced_theme.get_html_theme_path()]
html_theme_options = {
'githuburl': 'https://github.com/ionelmc/python-redis-lock/'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/docs/usage.rst
new/python-redis-lock-3.7.0/docs/usage.rst
--- old/python-redis-lock-3.6.0/docs/usage.rst 2020-07-23 14:42:25.000000000
+0200
+++ new/python-redis-lock-3.7.0/docs/usage.rst 2020-11-20 10:03:13.000000000
+0100
@@ -62,3 +62,8 @@
(it can be this or another lock with identical names)::
is_locked = Lock(conn, "lock-name").locked()
+
+You can control the log output by modifying various loggers::
+
+ logging.getLogger("redis_lock.thread").disabled = True
+ logging.getLogger("redis_lock").disable(logging.DEBUG)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/examples/bench.py
new/python-redis-lock-3.7.0/examples/bench.py
--- old/python-redis-lock-3.6.0/examples/bench.py 2020-07-23
20:13:04.000000000 +0200
+++ new/python-redis-lock-3.7.0/examples/bench.py 2020-11-20
10:08:11.000000000 +0100
@@ -7,7 +7,8 @@
from redis import StrictRedis
-from redis_lock import Lock, logger
+from redis_lock import Lock
+from redis_lock import logger
logging.basicConfig(level="WARN", format="%(message)s")
logger.setLevel("WARN")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/setup.py
new/python-redis-lock-3.7.0/setup.py
--- old/python-redis-lock-3.6.0/setup.py 2020-07-23 22:26:54.000000000
+0200
+++ new/python-redis-lock-3.7.0/setup.py 2020-11-20 10:09:47.000000000
+0100
@@ -25,7 +25,7 @@
setup(
name='python-redis-lock',
- version='3.6.0',
+ version='3.7.0',
license='BSD-2-Clause',
description='Lock context manager implemented via redis SETNX/BLPOP.',
long_description='%s\n%s' % (
@@ -55,6 +55,7 @@
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
+ 'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
# uncomment if you test on these interpreters:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-redis-lock-3.6.0/src/python_redis_lock.egg-info/PKG-INFO
new/python-redis-lock-3.7.0/src/python_redis_lock.egg-info/PKG-INFO
--- old/python-redis-lock-3.6.0/src/python_redis_lock.egg-info/PKG-INFO
2020-07-23 22:27:00.000000000 +0200
+++ new/python-redis-lock-3.7.0/src/python_redis_lock.egg-info/PKG-INFO
2020-11-20 10:10:24.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: python-redis-lock
-Version: 3.6.0
+Version: 3.7.0
Summary: Lock context manager implemented via redis SETNX/BLPOP.
Home-page: https://github.com/ionelmc/python-redis-lock
Author: Ionel Cristian M??rie??
@@ -19,7 +19,7 @@
* Free software: BSD 2-Clause License
- Interface targeted to be exactly like `threading.Lock
<http://docs.python.org/2/library/threading.html#threading.Lock>`_.
+ Interface targeted to be exactly like `threading.Lock
<https://docs.python.org/2/library/threading.html#threading.Lock>`_.
Usage
=====
@@ -76,7 +76,7 @@
The dogpile is also known as the thundering herd effect or cache
stampede. Here's a pattern to avoid the problem
without serving stale data. The work will be performed a single time
and every client will wait for the fresh data.
- To use this you will need `django-redis
<https://github.com/niwibe/django-redis>`_, however, ``python-redis-lock``
+ To use this you will need `django-redis
<https://github.com/jazzband/django-redis>`_, however, ``python-redis-lock``
provides you a cache backend that has a cache method for your
convenience. Just install ``python-redis-lock`` like
this:
@@ -101,7 +101,7 @@
.. note::
If using a `django-redis` < `3.8.x`, you'll probably need
`redis_cache`
which has been deprecated in favor to `django_redis`. The
`redis_cache`
- module is removed in `django-redis` versions > `3.9.x`. See
`django-redis notes
<http://niwinz.github.io/django-redis/latest/#_configure_as_cache_backend>`_.
+ module is removed in `django-redis` versions > `3.9.x`. See
`django-redis notes
<https://github.com/jazzband/django-redis#configure-as-cache-backend>`_.
This backend just adds a convenient ``.lock(name, expire=None)``
function to django-redis's cache backend.
@@ -171,13 +171,13 @@
This is how it works:
- .. image::
https://raw.github.com/ionelmc/python-redis-lock/master/docs/redis-lock%20diagram%20(v3.0).png
+ .. image::
https://raw.githubusercontent.com/ionelmc/python-redis-lock/master/docs/redis-lock%20diagram%20(v3.0).png
:alt: python-redis-lock flow diagram
Documentation
=============
- https://python-redis-lock.readthedocs.org/
+ https://python-redis-lock.readthedocs.io/en/latest/
Development
===========
@@ -206,6 +206,25 @@
Changelog
=========
+ 3.7.0 (2020-11-20)
+ ------------------
+
+ * Made logger names more specific. Now can have granular filtering on
these new logger names:
+
+ * ``redis_lock.acquire`` (emits `DEBUG` messages)
+ * ``redis_lock.acquire`` (emits `WARN` messages)
+ * ``redis_lock.acquire`` (emits `INFO` messages)
+ * ``redis_lock.refresh.thread.start`` (emits `DEBUG` messages)
+ * ``redis_lock.refresh.thread.exit`` (emits `DEBUG` messages)
+ * ``redis_lock.refresh.start`` (emits `DEBUG` messages)
+ * ``redis_lock.refresh.shutdown`` (emits `DEBUG` messages)
+ * ``redis_lock.refresh.exit`` (emits `DEBUG` messages)
+ * ``redis_lock.release`` (emits `DEBUG` messages)
+
+ Contributed by Salomon Smeke Cohen in `#80
<https://github.com/ionelmc/python-redis-lock/pull/80>`_.
+ * Fixed few CI issues regarding doc checks.
+ Contributed by Salomon Smeke Cohen in `#81
<https://github.com/ionelmc/python-redis-lock/pull/81>`_.
+
3.6.0 (2020-07-23)
------------------
@@ -353,6 +372,7 @@
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Utilities
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/src/redis_lock/__init__.py
new/python-redis-lock-3.7.0/src/redis_lock/__init__.py
--- old/python-redis-lock-3.6.0/src/redis_lock/__init__.py 2020-07-23
22:26:54.000000000 +0200
+++ new/python-redis-lock-3.7.0/src/redis_lock/__init__.py 2020-11-20
10:09:47.000000000 +0100
@@ -7,9 +7,21 @@
from redis import StrictRedis
-__version__ = '3.6.0'
+__version__ = '3.7.0'
-logger = getLogger(__name__)
+loggers = {
+ k: getLogger(".".join((__name__, k)))
+ for k in [
+ "acquire",
+ "refresh.thread.start",
+ "refresh.thread.stop",
+ "refresh.thread.exit",
+ "refresh.start",
+ "refresh.shutdown",
+ "refresh.exit",
+ "release",
+ ]
+}
PY3 = sys.version_info[0] == 3
@@ -207,6 +219,8 @@
:param timeout:
An integer value specifying the maximum number of seconds to block.
"""
+ logger = loggers["acquire"]
+
logger.debug("Getting %r ...", self._name)
if self._held:
@@ -234,10 +248,10 @@
elif blocking:
timed_out = not self._client.blpop(self._signal,
blpop_timeout) and timeout
else:
- logger.debug("Failed to get %r.", self._name)
+ logger.warning("Failed to get %r.", self._name)
return False
- logger.debug("Got lock for %r.", self._name)
+ logger.info("Got lock for %r.", self._name)
if self._lock_renewal_interval is not None:
self._start_lock_renewer()
return True
@@ -275,17 +289,17 @@
Renew the lock key in redis every `interval` seconds for as long
as `self._lock_renewal_thread.should_exit` is False.
"""
- log = getLogger("%s.lock_refresher" % __name__)
while not stop.wait(timeout=interval):
- log.debug("Refreshing lock")
+ loggers["refresh.thread.start"].debug("Refreshing lock")
lock = lockref()
if lock is None:
- log.debug("The lock no longer exists, "
- "stopping lock refreshing")
+ loggers["refresh.thread.stop"].debug(
+ "The lock no longer exists, stopping lock refreshing"
+ )
break
lock.extend(expire=lock._expire)
del lock
- log.debug("Exit requested, stopping lock refreshing")
+ loggers["refresh.thread.exit"].debug("Exit requested, stopping lock
refreshing")
def _start_lock_renewer(self):
"""
@@ -294,7 +308,7 @@
if self._lock_renewal_thread is not None:
raise AlreadyStarted("Lock refresh thread already started")
- logger.debug(
+ loggers["refresh.start"].debug(
"Starting thread to refresh lock every %s seconds",
self._lock_renewal_interval
)
@@ -317,11 +331,11 @@
"""
if self._lock_renewal_thread is None or not
self._lock_renewal_thread.is_alive():
return
- logger.debug("Signalling the lock refresher to stop")
+ loggers["refresh.shutdown"].debug("Signalling the lock refresher to
stop")
self._lock_renewal_stop.set()
self._lock_renewal_thread.join()
self._lock_renewal_thread = None
- logger.debug("Lock refresher has stopped")
+ loggers["refresh.exit"].debug("Lock refresher has stopped")
def __enter__(self):
acquired = self.acquire(blocking=True)
@@ -343,7 +357,7 @@
"""
if self._lock_renewal_thread is not None:
self._stop_lock_renewer()
- logger.debug("Releasing %r.", self._name)
+ loggers["release"].debug("Releasing %r.", self._name)
error = self.unlock_script(client=self._client, keys=(self._name,
self._signal), args=(self._id, self._signal_expire))
if error == 1:
raise NotAcquired("Lock %s is not acquired or it already expired."
% self._name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-redis-lock-3.6.0/tox.ini
new/python-redis-lock-3.7.0/tox.ini
--- old/python-redis-lock-3.6.0/tox.ini 2020-07-23 21:27:56.000000000 +0200
+++ new/python-redis-lock-3.7.0/tox.ini 2020-11-20 10:03:13.000000000 +0100
@@ -14,7 +14,7 @@
envlist =
clean,
check,
- {py36,py37,py38,pypy3}-{dj111,dj3}-{cover,nocov},
+ {py36,py37,py38,py39,pypy3}-{dj111,dj3}-{cover,nocov},
{py35}-{dj111,dj22}-{cover,nocov},
{py27,pypy}-{dj111}-{cover,nocov},
docs,
@@ -30,6 +30,7 @@
py36: {env:TOXPYTHON:python3.6}
py37: {env:TOXPYTHON:python3.7}
py38: {env:TOXPYTHON:python3.8}
+ py39: {env:TOXPYTHON:python3.9}
{bootstrap,clean,check,report,docs,codecov,coveralls}:
{env:TOXPYTHON:python3}
setenv =
PYTHONPATH={toxinidir}/tests
@@ -46,10 +47,10 @@
process-tests
cover: pytest-cov
{py27,pypy}: django-redis==4.10.0
- {py35,py36,py37,py38,pypy3}: django-redis==4.11.0
+ {py35,py36,py37,py38,py39,pypy3}: django-redis==4.11.0
redis==3.5.3
- dj22: django==2.2.14
- dj3: django==3.0.8
+ dj22: django==2.2.17
+ dj3: django==3.0.11
dj111: django==1.11.29
hunter
commands =
@@ -69,7 +70,7 @@
python setup.py check --strict --metadata --restructuredtext
check-manifest {toxinidir}
flake8
- isort --verbose --check-only --diff src tests setup.py
+ isort --verbose --check-only --diff --filter-files .
[testenv:docs]
usedevelop = true