From 6ebdc904eb48185c51c9deb4e426d56227646960 Mon Sep 17 00:00:00 2001 From: Alex Schofield Date: Fri, 21 Feb 2025 00:00:54 +0000 Subject: backup commit - 21st @ 00:00 --- cli.py | 12 ++++++------ examples/local.py | 9 +++++++++ gdpr_obfuscator/__init__.py | 9 +++++---- gdpr_obfuscator/obfuscate.py | 4 ++-- gdpr_obfuscator/utils.py | 2 +- 5 files changed, 23 insertions(+), 13 deletions(-) create mode 100644 examples/local.py diff --git a/cli.py b/cli.py index 1a84370..ed00d32 100644 --- a/cli.py +++ b/cli.py @@ -1,11 +1,13 @@ import argparse from gdpr_obfuscator.read import DataReader -from gdpr_obfuscator.write import DataWriter from gdpr_obfuscator.obfuscate import obfuscate -from gdpr_obfuscator.logger import get_logger +from gdpr_obfuscator.utils import Utilities def main(): + + utils = Utilities() + parser = argparse.ArgumentParser( prog="GDPR-Obfuscator", description="Obfuscate sensitive data stored locally or in an AWS environment", @@ -30,7 +32,7 @@ def main(): args = parser.parse_args() log_level = "DEBUG" if args.verbose else "INFO" - logger = get_logger("CLI", log_level) + logger = utils.get_logger("CLI", log_level) reader = DataReader(log_level) @@ -43,9 +45,7 @@ def main(): obfuscated_data = obfuscate(data, args.pii) - writer = DataWriter() - - return writer.create_byte_stream(obfuscated_data) + return obfuscated_data if __name__ == "__main__": diff --git a/examples/local.py b/examples/local.py new file mode 100644 index 0000000..d41dfa3 --- /dev/null +++ b/examples/local.py @@ -0,0 +1,9 @@ +from gdpr_obfuscator import Obfuscator + +obfuscator = Obfuscator() + +def main(): + return obfuscator.local(location="../mock_data.csv", pii_fields=["name", "email"]) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/gdpr_obfuscator/__init__.py b/gdpr_obfuscator/__init__.py index edfc665..69854cb 100644 --- a/gdpr_obfuscator/__init__.py +++ b/gdpr_obfuscator/__init__.py @@ -1,17 +1,18 @@ from .read import DataReader from .obfuscate import obfuscate -from .logger import get_logger from typing import List, Dict +from .utils import Utilities -class ImportData: + +class Obfuscator: def __init__(self, verbosity: bool = False): self.verbosity = verbosity self.log_level = "DEBUG" if verbosity else "INFO" - self.logger = get_logger("ImportData", self.log_level) + self.logger = Utilities.get_logger("ImportData", self.log_level) self.reader = DataReader() def import_s3(self, path: str, pii_fields: List[str]) -> bytes: return self.reader.read_s3(path) def import_local(self, path: str, pii_fields: List[str]) -> bytes: - return self.reader.read_local(path) \ No newline at end of file + return self.reader.read_local(path) diff --git a/gdpr_obfuscator/obfuscate.py b/gdpr_obfuscator/obfuscate.py index ac8acaf..6439542 100644 --- a/gdpr_obfuscator/obfuscate.py +++ b/gdpr_obfuscator/obfuscate.py @@ -1,7 +1,7 @@ from typing import List, Dict -from .logger import get_logger +from .utils import Utilities -logger = get_logger("OBFUSCATE") +logger = Utilities.get_logger("OBFUSCATE") def obfuscate( diff --git a/gdpr_obfuscator/utils.py b/gdpr_obfuscator/utils.py index fe0ef42..9283d9e 100644 --- a/gdpr_obfuscator/utils.py +++ b/gdpr_obfuscator/utils.py @@ -1,7 +1,7 @@ import csv import io import logging -import Enum +from enum import Enum from typing import List, Dict -- cgit v1.2.3