(self, value: Any, *, key: str = "")
| 280 | return f"{prefix}-{stamp}-{secrets.token_hex(3)}" |
| 281 | |
| 282 | def _sanitize_value(self, value: Any, *, key: str = "") -> Any: |
| 283 | key_lower = key.lower() |
| 284 | if key_lower in SENSITIVE_KEYS: |
| 285 | return self._mask_string(value) |
| 286 | if isinstance(value, dict): |
| 287 | return {str(item_key): self._sanitize_value(item_val, key=str(item_key)) for item_key, item_val in value.items()} |
| 288 | if isinstance(value, (list, tuple, set)): |
| 289 | return [self._sanitize_value(item, key=key) for item in value] |
| 290 | if isinstance(value, str): |
| 291 | if len(value) > 600: |
| 292 | return value[:280] + "...<trimmed>" |
| 293 | return value |
| 294 | if isinstance(value, bytes): |
| 295 | return f"<bytes:{len(value)}>" |
| 296 | if isinstance(value, Path): |
| 297 | return str(value) |
| 298 | if hasattr(value, "item"): |
| 299 | return value.item() |
| 300 | return value |
| 301 | |
| 302 | def _mask_string(self, value: Any) -> str: |
| 303 | raw = str(value or "") |
no test coverage detected