From 40f60c816173157c39d864087f2a6b8cc6fc8d97 Mon Sep 17 00:00:00 2001 From: Alex Schofield Date: Fri, 21 Feb 2025 02:41:38 +0000 Subject: add NOTES.md to control the chaos --- NOTES.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 NOTES.md (limited to 'NOTES.md') diff --git a/NOTES.md b/NOTES.md new file mode 100644 index 0000000..9179c45 --- /dev/null +++ b/NOTES.md @@ -0,0 +1,23 @@ +# Flow + +`from gdpr_obfuscator import Obfuscator` + +- User imports the `Obfuscator` class from the `gdpr_obfuscator` module + - This is the main entry point for the obfuscation tool +- During instantiation, the `__init__()` constructor method creates an instance +of `gdpr_obfuscator.read.DataReader` that is responsible for fetching data from +local files of an S3 bucket + - The `read_local()` method called via `process_local()` opens the CSV file + at the path the user specifies, uses `csv.DictReader()` to parse the field, + and then return a list of dictionaries + - The `read_s3()` method called via `process_s3()` uses the `boto3` library to + fetch the CSV file from the S3 bucket, and then returns a list of + dictionaries +- The outputs of both `read_local()` and `read_s3()` are then passed to the +`obfuscate_data()` function in the `gdpr_obfuscator.obfuscate` module, which +receives the data and the Personally Identifiable Information (PII) fields to +obfuscate +- Following this, the obfuscated data is passed into `create_byte_stream()` to +create the byte stream that will be written to a new CSV file or S3 bucket +object + -- cgit v1.2.3