|
18 | 18 | import threading |
19 | 19 | from contextlib import contextmanager |
20 | 20 | from functools import wraps |
| 21 | +from typing import Any |
21 | 22 |
|
22 | 23 | from reportportal_client import current, set_current |
23 | 24 | from reportportal_client import RPLogger |
@@ -116,23 +117,22 @@ def patching_logger_class(): |
116 | 117 | try: |
117 | 118 | def wrap_log(original_func): |
118 | 119 | @wraps(original_func) |
119 | | - def _log(self, *args, **kwargs): |
120 | | - attachment = kwargs.pop('attachment', None) |
| 120 | + def _log(self, *args: list[Any], **kwargs: dict[str, Any]): |
| 121 | + my_kwargs = kwargs.copy() |
| 122 | + attachment = my_kwargs.pop('attachment', None) |
121 | 123 | if attachment is not None: |
122 | | - kwargs.setdefault('extra', {}).update( |
123 | | - {'attachment': attachment}) |
| 124 | + my_kwargs.setdefault('extra', {}).update({'attachment': attachment}) |
| 125 | + |
124 | 126 | # Python 3.11 start catches stack frames in wrappers, |
125 | 127 | # so add additional stack level skip to not show it |
126 | 128 | if sys.version_info >= (3, 11): |
127 | | - my_kwargs = kwargs.copy() |
128 | | - if 'stacklevel' in kwargs: |
| 129 | + if 'stacklevel' in my_kwargs: |
129 | 130 | my_kwargs['stacklevel'] = my_kwargs['stacklevel'] + 1 |
130 | 131 | else: |
131 | 132 | my_kwargs['stacklevel'] = 2 |
132 | 133 | return original_func(self, *args, **my_kwargs) |
133 | 134 | else: |
134 | | - return original_func(self, *args, **kwargs) |
135 | | - |
| 135 | + return original_func(self, *args, **my_kwargs) |
136 | 136 | return _log |
137 | 137 |
|
138 | 138 | def wrap_makeRecord(original_func): |
|
0 commit comments