diff --git a/couchbase_helper/__init__.py b/couchbase_helper/__init__.py index 1d4c499..9b42515 100644 --- a/couchbase_helper/__init__.py +++ b/couchbase_helper/__init__.py @@ -4,4 +4,4 @@ __all__ = ["CouchbaseHelper", "Session", "Timeout"] __author__ = "Thomas 'sitzz' Vang " -__version__ = "0.1.2" +__version__ = "0.1.3" diff --git a/couchbase_helper/helper.py b/couchbase_helper/helper.py index ed7f88f..f8c64dd 100644 --- a/couchbase_helper/helper.py +++ b/couchbase_helper/helper.py @@ -23,17 +23,20 @@ class CouchbaseHelper: session (implements :class:`couchbase_helper.protocols.SessionProt`): The cluster connection session logger (:class:`logging.logger`): + DEPRECATED SINCE v0.1.3, SHOULD USE SESSION LOGGER INSTEAD The logging instance to use for log message. Defaults to the root logger. """ - def __init__( - self, - session: SessionProt, - logger: Optional[logging.Logger] = None, - ): - if logger is None: - logger = logging.getLogger() - self.logger = logger + def __init__(self, session: SessionProt, logger: Optional[logging.Logger] = None): + if logger is not None: + self.logger = logger + self.logger.warning( + "usage of parameter 'logger' in CouchbaseHelper class deprecated since 0.1.3 and will be removed in a future version" + ) + elif session.logger is not None: + self.logger = session.logger + else: + self.logger = logging.getLogger() self.session = session diff --git a/couchbase_helper/n1ql.py b/couchbase_helper/n1ql.py index 837993e..cd06f7f 100644 --- a/couchbase_helper/n1ql.py +++ b/couchbase_helper/n1ql.py @@ -20,6 +20,7 @@ class N1ql: session (implements :class:`~couchbase_helper.protocols.SessionProt`) The cluster connection session logger (:class:`logging.logger`): + DEPRECATED SINCE v0.1.3, SHOULD USE SESSION LOGGER INSTEAD The logging instance to use for log message. Defaults to the root logger. Usage: @@ -44,9 +45,15 @@ class N1ql: """ def __init__(self, session: Session, logger: Optional[logging.Logger] = None): - if logger is None: - logger = logging.getLogger() - self.logger = logger + if logger is not None: + self.logger = logger + self.logger.warning( + "usage of parameter 'logger' in N1ql class deprecated since 0.1.3 and will be removed in a future version" + ) + elif session.logger is not None: + self.logger = session.logger + else: + self.logger = logging.getLogger() self.session = session diff --git a/couchbase_helper/protocols.py b/couchbase_helper/protocols.py index 97e07b4..2c30971 100644 --- a/couchbase_helper/protocols.py +++ b/couchbase_helper/protocols.py @@ -1,3 +1,4 @@ +import logging from typing import Protocol from couchbase.bucket import Collection, Scope @@ -7,6 +8,8 @@ class SessionProt(Protocol): + logger: logging.Logger + def connect(self): ... def disconnect(self): ... diff --git a/couchbase_helper/retry.py b/couchbase_helper/retry.py index 3ecbc88..67e3c5a 100644 --- a/couchbase_helper/retry.py +++ b/couchbase_helper/retry.py @@ -17,7 +17,7 @@ def retry( attempts: int = 3, delay: float = 0.1, policy: RetryPolicy = RetryPolicy.FLAT, - exceptions: Optional[Tuple[Exception]] = None, + exceptions: Optional[Tuple[type[Exception]]] = None, ) -> Callable: def handler(func): @wraps(func) @@ -42,6 +42,8 @@ def wrapper(*args, **kwargs): sleep(backoff) + return None + return wrapper return handler