papis-extract/papis_extract/exporters/stdout.py

29 lines
858 B
Python
Raw Permalink Normal View History

from dataclasses import dataclass
from papis.document import Document
from papis_extract.annotation import Annotation
from papis_extract.formatter import Formatter
@dataclass
class StdoutExporter:
formatter: Formatter
edit: bool = False
git: bool = False
force: bool = False
def run(self, annot_docs: list[tuple[Document, list[Annotation]]]) -> None:
"""Pretty print annotations to stdout.
Gives a nice human-readable representations of
the annotations in somewhat of a list form.
Not intended for machine-readability.
"""
first_entry = True
for doc, annots in annot_docs:
output: str = self.formatter(doc, annots, first=first_entry)
if output:
print("{output}\n".format(output=output.rstrip("\n")))
first_entry = False