From 13f8a59df3e92dbe368442b622cd37bfae3d2409 Mon Sep 17 00:00:00 2001 From: aspedrosa Date: Fri, 31 Jul 2020 14:36:27 +0100 Subject: [PATCH 1/2] Fix error when 'expire' is None --- redis_rw_lock/__init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/redis_rw_lock/__init__.py b/redis_rw_lock/__init__.py index 6b9d018..1081818 100644 --- a/redis_rw_lock/__init__.py +++ b/redis_rw_lock/__init__.py @@ -77,7 +77,8 @@ def __init__(self, redis_conn, name, expire=None, auto_renew=False): def acquire(self, lock): self.__mutex.acquire() self.__redis_conn.incr(self.__counter_name) - self.__redis_conn.expire(self.__counter_name, self.__expire) + if self.__expire: + self.__redis_conn.expire(self.__counter_name, self.__expire) counter_value = int(self.__redis_conn.get(self.__counter_name)) logging.debug('Counter {}: {}'.format(self.__counter_name, counter_value)) if counter_value == 1: @@ -87,7 +88,8 @@ def acquire(self, lock): def release(self, lock): self.__mutex.acquire() self.__redis_conn.decr(self.__counter_name) - self.__redis_conn.expire(self.__counter_name, self.__expire) + if self.__expire: + self.__redis_conn.expire(self.__counter_name, self.__expire) counter_value = int(self.__redis_conn.get(self.__counter_name)) logging.debug('Counter {}: {}'.format(self.__counter_name, counter_value)) if counter_value == 0: From 4829d9ad083ec427982e9466acdcedbaf7e9dbb3 Mon Sep 17 00:00:00 2001 From: aspedrosa Date: Fri, 31 Jul 2020 14:46:41 +0100 Subject: [PATCH 2/2] Use f-strings instead str.format --- redis_rw_lock/__init__.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/redis_rw_lock/__init__.py b/redis_rw_lock/__init__.py index 1081818..cc4b4da 100644 --- a/redis_rw_lock/__init__.py +++ b/redis_rw_lock/__init__.py @@ -14,15 +14,15 @@ def __init__(self, redis_conn, name, mode, expire=30, auto_renew=False): self.__mode = mode self.__read_switch = _LightSwitch( - redis_conn, 'read_switch:{}'.format(name), expire=expire, auto_renew=auto_renew) + redis_conn, f'read_switch:{name}', expire=expire, auto_renew=auto_renew) self.__write_switch = _LightSwitch( - redis_conn, 'write_switch:{}'.format(name), expire=expire, auto_renew=auto_renew) + redis_conn, f'write_switch:{name}', expire=expire, auto_renew=auto_renew) self.__no_readers = redis_lock.Lock( - redis_conn, 'lock:no_readers:{}'.format(name), expire=expire, auto_renewal=auto_renew) + redis_conn, f'lock:no_readers:{name}', expire=expire, auto_renewal=auto_renew) self.__no_writers = redis_lock.Lock( - redis_conn, 'lock:no_writers:{}'.format(name), expire=expire, auto_renewal=auto_renew) + redis_conn, f'lock:no_writers:{name}', expire=expire, auto_renewal=auto_renew) self.__readers_queue = redis_lock.Lock( - redis_conn, 'lock:readers_queue:{}'.format(name), expire=expire, auto_renewal=auto_renew) + redis_conn, f'lock:readers_queue:{name}', expire=expire, auto_renewal=auto_renew) def __reader_acquire(self): self.__readers_queue.acquire() @@ -64,15 +64,15 @@ class _LightSwitch: """An auxiliary "light switch"-like object. The first thread turns on the "switch", the last one turns it off.""" def __init__(self, redis_conn, name, expire=None, auto_renew=False): - self.__counter_name = 'lock:switch:counter:{}'.format(name) + self.__counter_name = f'lock:switch:counter:{name}' self.__name = name self.__expire = expire self.__redis_conn = redis_conn self.__redis_conn.set(self.__counter_name, 0, nx=True, ex=self.__expire) counter_value = int(self.__redis_conn.get(self.__counter_name)) - logging.debug('Counter - Initial Value - {}: {}'.format(self.__counter_name, counter_value)) + logging.debug(f'Counter - Initial Value - {self.__counter_name}: {counter_value}') self.__mutex = redis_lock.Lock( - redis_conn, 'lock:switch:{}'.format(name), expire=expire, auto_renewal=auto_renew) + redis_conn, f'lock:switch:{name}', expire=expire, auto_renewal=auto_renew) def acquire(self, lock): self.__mutex.acquire() @@ -80,7 +80,7 @@ def acquire(self, lock): if self.__expire: self.__redis_conn.expire(self.__counter_name, self.__expire) counter_value = int(self.__redis_conn.get(self.__counter_name)) - logging.debug('Counter {}: {}'.format(self.__counter_name, counter_value)) + logging.debug(f'Counter {self.__counter_name}: {counter_value}') if counter_value == 1: lock.acquire() self.__mutex.release() @@ -91,7 +91,7 @@ def release(self, lock): if self.__expire: self.__redis_conn.expire(self.__counter_name, self.__expire) counter_value = int(self.__redis_conn.get(self.__counter_name)) - logging.debug('Counter {}: {}'.format(self.__counter_name, counter_value)) + logging.debug(f'Counter {self.__counter_name}: {counter_value}') if counter_value == 0: lock.reset() self.__mutex.release()