aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Schofield <git@ajschof.me>2025-03-02 18:23:01 +0000
committerAlex Schofield <git@ajschof.me>2025-03-02 18:23:01 +0000
commitdd4fcebceccb750424f13e8217740907e1e9f8c9 (patch)
treedb63057bc0fd8eeeb4a1de9a7dabb38dc51f6601
parentc1e3b00b982d60e53d22b2d8a3aceeeb3de9780e (diff)
downloadgdpr-obfuscator-dd4fcebceccb750424f13e8217740907e1e9f8c9.tar.gz
gdpr-obfuscator-dd4fcebceccb750424f13e8217740907e1e9f8c9.zip
add error handling for when PII field is missing from data
-rw-r--r--gdpr_obfuscator/obfuscate.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdpr_obfuscator/obfuscate.py b/gdpr_obfuscator/obfuscate.py
index 0a1d74b..722b750 100644
--- a/gdpr_obfuscator/obfuscate.py
+++ b/gdpr_obfuscator/obfuscate.py
@@ -9,6 +9,13 @@ def obfuscate_data(
sensitive values with a string of asterisks.
"""
+ for record in data:
+ missing_pii_fields = [field for field in pii_fields if field not in record]
+ if missing_pii_fields:
+ raise ValueError(
+ f"A record is missing required PII fields: {missing_pii_fields}"
+ )
+
return [
{k: ("***" if k in pii_fields else v) for k, v in record.items()}
for record in data
git.ajschof.me — hosted by ajschofield — powered by cgit