csvpath.managers.results.readers.file_unmatched_reader
1import os 2import csv 3from abc import ABC, abstractmethod 4from .readers import UnmatchedReader 5from csvpath.util.line_spooler import CsvLineSpooler, LineSpooler 6 7 8class FileUnmatchedReader(UnmatchedReader): 9 def __init__(self) -> None: 10 super().__init__() 11 self._unmatched: LineSpooler = None 12 13 @property 14 def unmatched(self) -> list[str]: 15 if self._unmatched is None and self.result.instance_dir: 16 self._unmatched = CsvLineSpooler(self.result) 17 # if we don't set path in CsvLineSpooler it defaults to "unmatched.csv" 18 p = os.path.join(self.result.instance_dir, "unmatched.csv") 19 self._unmatched.path = p 20 return self._unmatched
9class FileUnmatchedReader(UnmatchedReader): 10 def __init__(self) -> None: 11 super().__init__() 12 self._unmatched: LineSpooler = None 13 14 @property 15 def unmatched(self) -> list[str]: 16 if self._unmatched is None and self.result.instance_dir: 17 self._unmatched = CsvLineSpooler(self.result) 18 # if we don't set path in CsvLineSpooler it defaults to "unmatched.csv" 19 p = os.path.join(self.result.instance_dir, "unmatched.csv") 20 self._unmatched.path = p 21 return self._unmatched
Helper class that provides a standard way to create an ABC using inheritance.
unmatched: list[str]
14 @property 15 def unmatched(self) -> list[str]: 16 if self._unmatched is None and self.result.instance_dir: 17 self._unmatched = CsvLineSpooler(self.result) 18 # if we don't set path in CsvLineSpooler it defaults to "unmatched.csv" 19 p = os.path.join(self.result.instance_dir, "unmatched.csv") 20 self._unmatched.path = p 21 return self._unmatched