mirror of
https://github.com/home-assistant/core.git
synced 2025-08-05 21:55:10 +02:00
Code review
This commit is contained in:
@@ -2,7 +2,6 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from collections.abc import Iterable, Mapping
|
from collections.abc import Iterable, Mapping
|
||||||
from copy import deepcopy
|
|
||||||
from typing import Any, TypeVar
|
from typing import Any, TypeVar
|
||||||
|
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
@@ -18,17 +17,17 @@ def async_redact_data(data: T, to_redact: Iterable[Any]) -> T:
|
|||||||
if not isinstance(data, (Mapping, list)):
|
if not isinstance(data, (Mapping, list)):
|
||||||
return data
|
return data
|
||||||
|
|
||||||
redacted = deepcopy(data)
|
if isinstance(data, list):
|
||||||
|
|
||||||
if isinstance(redacted, dict):
|
|
||||||
for key, value in redacted.items():
|
|
||||||
if key in to_redact:
|
|
||||||
redacted[key] = REDACTED
|
|
||||||
elif isinstance(value, dict):
|
|
||||||
redacted[key] = async_redact_data(value, to_redact)
|
|
||||||
elif isinstance(value, list):
|
|
||||||
redacted[key] = [async_redact_data(item, to_redact) for item in value]
|
|
||||||
elif isinstance(redacted, list):
|
|
||||||
return [async_redact_data(val, to_redact) for val in data]
|
return [async_redact_data(val, to_redact) for val in data]
|
||||||
|
|
||||||
|
redacted = {**data}
|
||||||
|
|
||||||
|
for key, value in redacted.items():
|
||||||
|
if key in to_redact:
|
||||||
|
redacted[key] = REDACTED
|
||||||
|
elif isinstance(value, dict):
|
||||||
|
redacted[key] = async_redact_data(value, to_redact)
|
||||||
|
elif isinstance(value, list):
|
||||||
|
redacted[key] = [async_redact_data(item, to_redact) for item in value]
|
||||||
|
|
||||||
return redacted
|
return redacted
|
||||||
|
Reference in New Issue
Block a user