Source code for sktalk.corpus.parsing.parser

import abc


[docs] class InputFile(abc.ABC): """Abstract parser class.""" def __init__(self, path: str) -> None:
[docs] self._path = path
[docs] self._metadata = {"source": path}
[docs] def parse(self) -> tuple[list["Utterance"], dict]: # noqa: F821 return self.utterances, self.metadata
@property
[docs] def metadata(self): metadata = self._extract_metadata() if metadata.keys().isdisjoint(self._metadata): return self._metadata | metadata raise ValueError("Duplicate key in the metadata")
@property
[docs] def utterances(self): self._utterances = self._extract_utterances() return self._utterances
[docs] def _extract_metadata(self): return {}
[docs] def _extract_utterances(self): return []
@classmethod
[docs] def download(cls, url): # noqa: W0613 # download # downloaded_file = ... return NotImplemented