Source code for sleap.io.format.text
"""
Adaptor for reading and writing any generic text file.
This is a good example of a very simple adaptor class.
"""
from .adaptor import Adaptor, SleapObjectType
from .filehandle import FileHandle
[docs]class TextAdaptor(Adaptor):
@property
def handles(self):
return SleapObjectType.misc
@property
def default_ext(self):
return "txt"
@property
def all_exts(self):
return ["txt", "log"]
@property
def name(self):
return "Text file"
[docs] def can_read_file(self, file: FileHandle):
return True
[docs] def can_write_filename(self, filename: str) -> bool:
return True
[docs] def does_read(self) -> bool:
return True
[docs] def does_write(self) -> bool:
return True
[docs] def read(self, file: FileHandle, *args, **kwargs):
return file.text
[docs] def write(self, filename: str, source_object: str):
with open(filename, "w") as f:
f.write(source_object)