From 7cc98bff4095bd06838c8aa6d18cf5f62aff1979 Mon Sep 17 00:00:00 2001 From: "deepsource-autofix[bot]" <62050782+deepsource-autofix[bot]@users.noreply.github.com> Date: Fri, 21 Feb 2025 04:22:25 +0000 Subject: refactor: change methods not using its bound instance to staticmethods The method doesn't use its bound instance. Decorate this method with `@staticmethod` decorator, so that Python does not have to instantiate a bound method for every instance of this class thereby saving memory and computation. Read more about staticmethods [here](https://docs.python.org/3/library/functions.html#staticmethod). --- gdpr_obfuscator/read.py | 3 ++- gdpr_obfuscator/utils.py | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/gdpr_obfuscator/read.py b/gdpr_obfuscator/read.py index e527a4f..27f2a3d 100644 --- a/gdpr_obfuscator/read.py +++ b/gdpr_obfuscator/read.py @@ -37,7 +37,8 @@ class DataReader: read_csv_content = self.read_string(content) return read_csv_content - def read_string(self, content: str) -> List[Dict[str, str]]: + @staticmethod + def read_string(content: str) -> List[Dict[str, str]]: """ A method to read CSV data from a string and return the data as a list of dictionaries. diff --git a/gdpr_obfuscator/utils.py b/gdpr_obfuscator/utils.py index d305daf..9736d7c 100644 --- a/gdpr_obfuscator/utils.py +++ b/gdpr_obfuscator/utils.py @@ -8,13 +8,15 @@ class Utilities: def __init__(self, logger=None): pass - def get_s3_path(self, uri): + @staticmethod + def get_s3_path(uri): parts = uri.replace("s3://", "").split("/") bucket = parts.pop(0) key = "/".join(parts) return bucket, key - def create_byte_stream(self, data: List[Dict[str, str]]) -> bytes: + @staticmethod + def create_byte_stream(data: List[Dict[str, str]]) -> bytes: if not data: return b"" -- cgit v1.2.3