csvpath.managers.results.readers.file_errors_reader
1import os 2import json 3from abc import ABC, abstractmethod 4from csvpath.managers.errors.error import Error 5from csvpath.util.nos import Nos 6from csvpath.util.file_readers import DataFileReader 7from .readers import ErrorsReader 8 9 10class FileErrorsReader(ErrorsReader): 11 def __init__(self) -> None: 12 super().__init__() 13 self._errors = None 14 15 @property 16 def errors(self) -> list[Error]: 17 if self._errors is None and self.result is not None: 18 ej = None 19 p = os.path.join(self.result.instance_dir, "errors.json") 20 if Nos(p).exists(): 21 with DataFileReader(p) as file: 22 ej = json.load(file.source) 23 self._errors = [] 24 if ej: 25 for e in ej: 26 error = Error() 27 error.from_json(e) 28 self._errors.append(error) 29 return self._errors
11class FileErrorsReader(ErrorsReader): 12 def __init__(self) -> None: 13 super().__init__() 14 self._errors = None 15 16 @property 17 def errors(self) -> list[Error]: 18 if self._errors is None and self.result is not None: 19 ej = None 20 p = os.path.join(self.result.instance_dir, "errors.json") 21 if Nos(p).exists(): 22 with DataFileReader(p) as file: 23 ej = json.load(file.source) 24 self._errors = [] 25 if ej: 26 for e in ej: 27 error = Error() 28 error.from_json(e) 29 self._errors.append(error) 30 return self._errors
Helper class that provides a standard way to create an ABC using inheritance.
errors: list[csvpath.managers.errors.error.Error]
16 @property 17 def errors(self) -> list[Error]: 18 if self._errors is None and self.result is not None: 19 ej = None 20 p = os.path.join(self.result.instance_dir, "errors.json") 21 if Nos(p).exists(): 22 with DataFileReader(p) as file: 23 ej = json.load(file.source) 24 self._errors = [] 25 if ej: 26 for e in ej: 27 error = Error() 28 error.from_json(e) 29 self._errors.append(error) 30 return self._errors