Source code for PyOpenWorm.data_trans.local_file_ds

from contextlib import contextmanager
from rdflib.namespace import Namespace
from ..datasource import Informational
from .file_ds import FileDataSource
from .common_data import DS_NS
from ..capability import Capable
from ..capabilities import FilePathCapability


[docs]class LocalFileDataSource(Capable, FileDataSource): ''' File paths should be relative -- in general, path names on a given machine are not portable ''' rdf_namespace = Namespace(DS_NS['LocalFileDataSource#']) file_name = Informational(display_name='File name') needed_capabilities = [FilePathCapability()] @contextmanager def file_contents(self): yield open(self.file_name.one(), 'b')
[docs] def accept_capability_provider(self, cap, provider): self._base_path_provider = provider
def basedir(self): return self._base_path_provider.file_path()
__yarom_mapped_classes__ = (LocalFileDataSource,)