From e476403c59e922512d06ef5489a07fba87615998 Mon Sep 17 00:00:00 2001 From: Alex Schofield Date: Wed, 26 Feb 2025 16:13:36 +0000 Subject: add ability to read path & pii fields from json strings as input --- examples/local.py | 5 ++++- gdpr_obfuscator/__init__.py | 6 ++++-- gdpr_obfuscator/utils.py | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/examples/local.py b/examples/local.py index 73b8530..befd9f2 100644 --- a/examples/local.py +++ b/examples/local.py @@ -2,5 +2,8 @@ from gdpr_obfuscator import Obfuscator obfuscator = Obfuscator() +json_input = ( + '{"file_path": "./test/data/mock_data.csv", "pii_fields": ["name", "email"]}' +) -print(obfuscator.process_local(path="mock_data.csv", pii_fields=["name", "email"])) +print(obfuscator.process_local(json_input)) diff --git a/gdpr_obfuscator/__init__.py b/gdpr_obfuscator/__init__.py index 9e2d837..7466153 100644 --- a/gdpr_obfuscator/__init__.py +++ b/gdpr_obfuscator/__init__.py @@ -9,11 +9,13 @@ class Obfuscator: self.reader = DataReader() self.utils = Utilities() - def process_s3(self, path: str, pii_fields: List[str]) -> bytes: + def process_s3(self, input: str) -> bytes: + path, pii_fields = self.utils.process_json_input(input) obfuscated_data = obfuscate_data(self.reader.read_s3(path), pii_fields) return self.utils.create_byte_stream(obfuscated_data) - def process_local(self, path: str, pii_fields: List[str]) -> bytes: + def process_local(self, input: str) -> bytes: + path, pii_fields = self.utils.process_json_input(input) obfuscated_data = obfuscate_data(self.reader.read_local(path), pii_fields) return self.utils.create_byte_stream(obfuscated_data) diff --git a/gdpr_obfuscator/utils.py b/gdpr_obfuscator/utils.py index 656b084..f5f06d0 100644 --- a/gdpr_obfuscator/utils.py +++ b/gdpr_obfuscator/utils.py @@ -6,7 +6,7 @@ import json class Utilities: - + @staticmethod def process_json_input(json_input: str): data = json.loads(json_input) -- cgit v1.2.3