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
class FileUnmatchedReader(csvpath.managers.results.readers.readers.UnmatchedReader):
 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