aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Schofield <git@ajschof.me>2025-02-26 16:13:36 +0000
committerAlex Schofield <git@ajschof.me>2025-02-26 16:13:36 +0000
commite476403c59e922512d06ef5489a07fba87615998 (patch)
treeaf61af1c775bd63b1ec1bcfb0010cf5e6d21b22d
parente8788272eda9c2ab74fa6ee1a2cc260ed7e87e76 (diff)
downloadgdpr-obfuscator-e476403c59e922512d06ef5489a07fba87615998.tar.gz
gdpr-obfuscator-e476403c59e922512d06ef5489a07fba87615998.zip
add ability to read path & pii fields from json strings as input
-rw-r--r--examples/local.py5
-rw-r--r--gdpr_obfuscator/__init__.py6
-rw-r--r--gdpr_obfuscator/utils.py2
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)
git.ajschof.me — hosted by ajschofield — powered by cgit