From 975633a95f647ea033f87adf4c6e102fd210b210 Mon Sep 17 00:00:00 2001 From: Jakub Urban Date: Mon, 31 Jul 2023 16:37:08 +0200 Subject: [PATCH 1/2] Don't log sensitive data with logged method --- src/widgetastic/log.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/widgetastic/log.py b/src/widgetastic/log.py index 45322a75..70ca85bd 100644 --- a/src/widgetastic/log.py +++ b/src/widgetastic/log.py @@ -30,8 +30,13 @@ def call_sig(args: Iterator[Any], kwargs: MutableMapping[str, Any]) -> str: Returns: A string that contains parameters in parentheses like the call to it. """ - arglist = [repr(x) for x in args] - arglist.extend(f"{k}={v!r}" for k, v in kwargs.items()) + safe_args = ["sensitive", "locator"] + if kwargs.get("sensitive"): + arglist = ["*" * len(repr(x)) for x in args] + arglist.extend(f"{k}={repr(v) if k in safe_args else '*' * len(repr(v))}" for k, v in kwargs.items()) + else: + arglist = [repr(x) for x in args] + arglist.extend(f"{k}={v!r}" for k, v in kwargs.items()) return "({args})".format( args=", ".join(arglist), ) From 1df4fc4b622acfbbbca993b58013e73e441f2eab Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 14:43:57 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/widgetastic/log.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/widgetastic/log.py b/src/widgetastic/log.py index 70ca85bd..b48efeec 100644 --- a/src/widgetastic/log.py +++ b/src/widgetastic/log.py @@ -33,7 +33,9 @@ def call_sig(args: Iterator[Any], kwargs: MutableMapping[str, Any]) -> str: safe_args = ["sensitive", "locator"] if kwargs.get("sensitive"): arglist = ["*" * len(repr(x)) for x in args] - arglist.extend(f"{k}={repr(v) if k in safe_args else '*' * len(repr(v))}" for k, v in kwargs.items()) + arglist.extend( + f"{k}={repr(v) if k in safe_args else '*' * len(repr(v))}" for k, v in kwargs.items() + ) else: arglist = [repr(x) for x in args] arglist.extend(f"{k}={v!r}" for k, v in kwargs.items())