Files
cours-420-320-ah/solid/single_responsability/file_manager.py
T
2023-12-01 08:13:14 -05:00

23 lines
614 B
Python

# file_manager_srp.py
import zlib
from pathlib import Path
class FileManager:
def __init__(self, filename: str | Path):
self.path = Path(filename)
def read(self) -> str:
return self.path.read_text("utf-8")
def write(self, data: str) -> None:
self.path.write_text(data, "utf-8")
def compress(self) -> None:
compressed_data = zlib.compress(self.path.read_bytes())
self.path.write_bytes(compressed_data)
def decompress(self) -> None:
decompressed_data = zlib.decompress(self.path.read_bytes())
self.path.write_bytes(decompressed_data)