From 70a16769761450b9c2aa63cda86a30a73bc0217c Mon Sep 17 00:00:00 2001 From: Alex Schofield Date: Thu, 20 Feb 2025 18:27:12 +0000 Subject: update pyproject.toml & references with new src folder name --- gdpr_obfuscator/write.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 gdpr_obfuscator/write.py (limited to 'gdpr_obfuscator/write.py') diff --git a/gdpr_obfuscator/write.py b/gdpr_obfuscator/write.py new file mode 100644 index 0000000..451b073 --- /dev/null +++ b/gdpr_obfuscator/write.py @@ -0,0 +1,28 @@ +import csv +import io +from typing import List, Dict +from obfuscator.logger import get_logger + +logger = get_logger("CSVWRITER") + + +class DataWriter: + def __init__(self): + pass + + def create_byte_stream(self, data: List[Dict[str, str]]) -> bytes: + if not data: + logger.error("Invalid or empty data was provided to write") + return b"" + + output = io.StringIO() + + headers = list(data[0].keys()) + + writer = csv.DictWriter(output, fieldnames=headers) + writer.writeheader() + writer.writerows(data) + + csv_string = output.getvalue() + + return csv_string.encode("utf-8") -- cgit v1.2.3