Skip to content

Commit f21199f

Browse files
committed
refactor(obfuscate): improve type consistency and simplify branch logic
1 parent 3e4a883 commit f21199f

File tree

1 file changed

+6
-17
lines changed

1 file changed

+6
-17
lines changed

pyoverkiz/obfuscate.py

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,20 @@ def obfuscate_email(email: str | None) -> str:
1919
return re.sub(r"(.).*@.*(.\..*)", r"\1****@****\2", email)
2020

2121

22-
def obfuscate_string(input: str) -> str:
22+
def obfuscate_string(input: str | None) -> str:
2323
"""Mask string."""
2424
return re.sub(r"[a-zA-Z0-9_.-]*", "*", str(input))
2525

2626

27-
# pylint: disable=too-many-branches
2827
def obfuscate_sensitive_data(data: dict[str, Any]) -> JSON:
2928
"""Mask Overkiz JSON data to remove sensitive data."""
3029
mask_next_value = False
3130

3231
for key, value in data.items():
33-
if key in ["gatewayId", "id", "deviceURL"]:
32+
if key in {"gatewayId", "id", "deviceURL"}:
3433
data[key] = obfuscate_id(value)
3534

36-
if key in [
35+
if key in {
3736
"label",
3837
"city",
3938
"country",
@@ -42,7 +41,7 @@ def obfuscate_sensitive_data(data: dict[str, Any]) -> JSON:
4241
"addressLine2",
4342
"longitude",
4443
"latitude",
45-
]:
44+
}:
4645
data[key] = obfuscate_string(value)
4746

4847
if value in [
@@ -62,17 +61,7 @@ def obfuscate_sensitive_data(data: dict[str, Any]) -> JSON:
6261
obfuscate_sensitive_data(value)
6362
elif isinstance(value, list):
6463
for val in value:
65-
if isinstance(val, str):
66-
continue
67-
if isinstance(val, int):
68-
continue
69-
if isinstance(val, float):
70-
continue
71-
if isinstance(val, list):
72-
continue
73-
if val is None:
74-
continue
75-
76-
obfuscate_sensitive_data(val)
64+
if isinstance(val, dict):
65+
obfuscate_sensitive_data(val)
7766

7867
return data

0 commit comments

Comments
 (0)