diff --git a/lib/tfw/components/file_manager/file_manager.py b/lib/tfw/components/file_manager/file_manager.py index 967e06f..0e4fc6a 100644 --- a/lib/tfw/components/file_manager/file_manager.py +++ b/lib/tfw/components/file_manager/file_manager.py @@ -65,13 +65,13 @@ class FileManager: # pylint: disable=too-many-instance-attributes @property def file_contents(self): - with open(self._filepath(self.filename), 'r', errors='surrogateescape') as ifile: - return ifile.read() + with open(self._filepath(self.filename), 'rb', buffering=0) as ifile: + return ifile.read().decode(errors='surrogateescape') @file_contents.setter def file_contents(self, value): - with open(self._filepath(self.filename), 'w', errors='surrogateescape') as ofile: - ofile.write(value) + with open(self._filepath(self.filename), 'wb', buffering=0) as ofile: + ofile.write(value.encode()) def _is_in_allowed_dir(self, path): return any(