aboutsummaryrefslogtreecommitdiffstats
path: root/obfuscator/write.py
diff options
context:
space:
mode:
authorAlex <git@ajschof.me>2025-02-19 15:58:28 +0000
committerGitHub <noreply@github.com>2025-02-19 15:58:28 +0000
commit4066bf747e1e4c938526957c119f3f1485ee251e (patch)
tree9a1e95f4ccbdd04e19d67a6c13641a19c4d4f3e0 /obfuscator/write.py
parentf24955044c4c05e37aba4efb505ec63b44113912 (diff)
parent5402af2c7198a685a57a05e29a869e1e72a6b877 (diff)
downloadgdpr-obfuscator-4066bf747e1e4c938526957c119f3f1485ee251e.tar.gz
gdpr-obfuscator-4066bf747e1e4c938526957c119f3f1485ee251e.zip
Merge pull request #8 from ajschofield/refining-phase
mostly minor changes (fixing things up)
Diffstat (limited to 'obfuscator/write.py')
-rw-r--r--obfuscator/write.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/obfuscator/write.py b/obfuscator/write.py
new file mode 100644
index 0000000..451b073
--- /dev/null
+++ b/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")
git.ajschof.me — hosted by ajschofield — powered by cgit