Add mustache templating
Added mustache templating engine to be able to provide custom formatting strings.
This commit is contained in:
parent
e325b89c9b
commit
256117d451
4 changed files with 75 additions and 29 deletions
|
|
@ -1,7 +1,51 @@
|
|||
import pytest
|
||||
from papis_extract.annotation_data import Annotation
|
||||
|
||||
|
||||
def test_matches_colorname_exact():
|
||||
sut = Annotation("testfile", colors={"stroke": (1.0, 0.0, 0.0)})
|
||||
@pytest.mark.parametrize(
|
||||
"fmt_string,expected",
|
||||
[
|
||||
("{{quote}}", "I am the text value"),
|
||||
(
|
||||
"> {{quote}}\n{{#note}}Note: {{note}}{{/note}}",
|
||||
"> I am the text value\nNote: Whereas I represent the note",
|
||||
),
|
||||
(
|
||||
"{{#note}}Note: {{note}}{{/note}}{{#page}}, p. {{page}}{{/page}}",
|
||||
"Note: Whereas I represent the note",
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_formatting(fmt_string, expected):
|
||||
sut = Annotation(
|
||||
"myfile",
|
||||
text="I am the text value",
|
||||
content="Whereas I represent the note",
|
||||
)
|
||||
|
||||
assert sut.format(fmt_string) == expected
|
||||
|
||||
def test_colorname_matches_exact():
|
||||
sut = Annotation(
|
||||
"testfile", colors={"stroke": (1.0,0.0,0.0)}, minimum_similarity_color=1.0
|
||||
)
|
||||
c_name = sut.colorname
|
||||
assert c_name == "red"
|
||||
|
||||
# TODO inject closeness value instead of relying on default
|
||||
@pytest.mark.parametrize(
|
||||
"color_value",
|
||||
[
|
||||
(1.0, 0.0, 0.0),
|
||||
(0.9, 0.0, 0.0),
|
||||
(0.8, 0.0, 0.0),
|
||||
(0.7, 0.0, 0.0),
|
||||
(0.51, 0.0, 0.0),
|
||||
],
|
||||
)
|
||||
def test_matches_inexact_colorname(color_value):
|
||||
sut = Annotation(
|
||||
"testfile", colors={"stroke": color_value}, minimum_similarity_color=0.833
|
||||
)
|
||||
c_name = sut.colorname
|
||||
assert c_name == "red"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue