Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion couchbase_helper/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@

__all__ = ["CouchbaseHelper", "Session", "Timeout"]
__author__ = "Thomas 'sitzz' Vang <sitzzdk@gmail.com>"
__version__ = "0.1.2"
__version__ = "0.1.3"
19 changes: 11 additions & 8 deletions couchbase_helper/helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
13 changes: 10 additions & 3 deletions couchbase_helper/n1ql.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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

Expand Down
3 changes: 3 additions & 0 deletions couchbase_helper/protocols.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import logging
from typing import Protocol

from couchbase.bucket import Collection, Scope
Expand All @@ -7,6 +8,8 @@


class SessionProt(Protocol):
logger: logging.Logger

def connect(self): ...

def disconnect(self): ...
Expand Down
4 changes: 3 additions & 1 deletion couchbase_helper/retry.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -42,6 +42,8 @@ def wrapper(*args, **kwargs):

sleep(backoff)

return None

return wrapper

return handler