Source code for onetick.py.utils.file

import os
import zlib

from pathlib import Path
from typing import Union


[docs]class FileBuffer: ''' Class holds the file content with goal to delivery it to the execution side in case of remote executions. The basic implementation reads file content to a property that allows to transfer file content as pickled object to the server side since the pickling stores all class property values. ''' def __init__(self, path: Union[str, os.PathLike]): content = Path(path).read_text() self._content = zlib.compress(content.encode('utf-8'), level=9) def get(self): ''' Returns file content ''' return zlib.decompress(self._content).decode('utf-8')
[docs]def file(path: Union[str, os.PathLike]) -> FileBuffer: ''' Helps to build a file buffer that could be used to delivery on the remote site to be processed there. For example it coulld be passed as input to the :class:`CSV <onetick.py.CSV>` See Also -------- :class:`CSV <onetick.py.CSV>` ''' return FileBuffer(path)