33 lines
931 B
Python
33 lines
931 B
Python
from __future__ import annotations
|
|
from pathlib import Path
|
|
|
|
from habitmove.nomiedata import Event, ImportData, Tracker
|
|
|
|
|
|
class Parser:
|
|
def __init__(self, data="") -> None:
|
|
"""Load a data set and prepare parser data"""
|
|
self.data = data
|
|
|
|
@classmethod
|
|
def from_file(cls, path: str) -> Parser:
|
|
"""Load in a data set"""
|
|
txt = Path(path).read_text()
|
|
return cls(data=txt)
|
|
|
|
def parse(self) -> ImportData:
|
|
"""Extract all data from a data set"""
|
|
raise NotImplementedError
|
|
|
|
def extract_version(self) -> str:
|
|
"""Extract import dataset version from the data set"""
|
|
raise NotImplementedError
|
|
|
|
def extract_trackers(self) -> list[Tracker]:
|
|
"""Extract trackers from the data set"""
|
|
raise NotImplementedError
|
|
|
|
def extract_events(self) -> list[Event]:
|
|
"""Extract events from the data set"""
|
|
raise NotImplementedError
|