Compare commits

..

1 commit

Author SHA1 Message Date
984025b472
feat: Add option to force-add annotations
Some checks failed
ci/woodpecker/push/test unknown status
ci/woodpecker/push/lint Pipeline failed
ci/woodpecker/push/static_analysis Pipeline failed
Will turn off looking for duplicate annotations and simply add all.
2023-10-17 22:01:41 +02:00
3 changed files with 9 additions and 10 deletions

View file

@ -8,7 +8,10 @@ import papis.strings
from papis.document import Document from papis.document import Document
from papis_extract import extractor, exporter from papis_extract import extractor, exporter
from papis_extract.formatter import Formatter, formatters from papis_extract.formatter import (
Formatter,
formatters
)
logger = papis.logging.get_logger(__name__) logger = papis.logging.get_logger(__name__)
@ -65,7 +68,6 @@ def main(
write: bool, write: bool,
template: str, template: str,
git: bool, git: bool,
force: bool,
) -> None: ) -> None:
"""Extract annotations from any pdf document. """Extract annotations from any pdf document.
@ -87,7 +89,7 @@ def main(
formatter = formatters[template] formatter = formatters[template]
run(documents, edit=manual, write=write, git=git, formatter=formatter, force=force) run(documents, edit=manual, write=write, git=git, formatter=formatter)
def run( def run(
@ -96,12 +98,11 @@ def run(
edit: bool = False, edit: bool = False,
write: bool = False, write: bool = False,
git: bool = False, git: bool = False,
force: bool = False,
) -> None: ) -> None:
annotated_docs = extractor.start(documents) annotated_docs = extractor.start(documents)
if write: if write:
exporter.to_notes( exporter.to_notes(
formatter=formatter, annotated_docs=annotated_docs, edit=edit, git=git, force=force formatter=formatter, annotated_docs=annotated_docs, edit=edit, git=git
) )
else: else:
exporter.to_stdout(formatter=formatter, annotated_docs=annotated_docs) exporter.to_stdout(formatter=formatter, annotated_docs=annotated_docs)

View file

@ -26,14 +26,13 @@ def test_formatting_replacements(fmt_string, expected):
assert sut.format(fmt_string) == expected assert sut.format(fmt_string) == expected
@pytest.mark.parametrize( @pytest.mark.parametrize(
"fmt_string,expected", "fmt_string,expected",
[ [
("{{doc.title}}", "document-title"), ("{{doc.title}}", "document-title"),
("{{doc.title}}-{{doc.author}}", "document-title-document-author"), ("{{doc.title}}-{{doc.author}}", "document-title-document-author"),
("{{quote}} ({{doc.author}})", "I am the text value (document-author)"), ("{{quote}} ({{doc.author}})", "I am the text value (document-author)"),
], ]
) )
def test_formatting_document_access(fmt_string, expected): def test_formatting_document_access(fmt_string, expected):
sut = Annotation( sut = Annotation(
@ -41,11 +40,10 @@ def test_formatting_document_access(fmt_string, expected):
text="I am the text value", text="I am the text value",
content="Whereas I represent the note", content="Whereas I represent the note",
) )
doc = Document(data={"title": "document-title", "author": "document-author"}) doc = Document(data= {"title": "document-title", "author": "document-author"})
assert sut.format(fmt_string, doc=doc) == expected assert sut.format(fmt_string, doc=doc) == expected
def test_colorname_matches_exact(): def test_colorname_matches_exact():
sut = Annotation("testfile", colors=(1.0, 0.0, 0.0), minimum_similarity_color=1.0) sut = Annotation("testfile", colors=(1.0, 0.0, 0.0), minimum_similarity_color=1.0)
c_name = sut.colorname c_name = sut.colorname