Skip to content

Commit e39e086

Browse files
author
black-isort-bot
committed
[skip ci]: black/isort
1 parent cd09827 commit e39e086

File tree

6 files changed

+64
-30
lines changed

6 files changed

+64
-30
lines changed

PyPDFForm/core/template.py

+5-6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"""Contains helpers for template."""
33

44
import uuid
5+
from math import sqrt
56
from typing import Dict, List, Tuple, Union
67

78
import pdfrw
@@ -11,7 +12,6 @@
1112
from .constants import Template as TemplateCoreConstants
1213
from .patterns import ELEMENT_KEY_PATTERNS, ELEMENT_TYPE_PATTERNS
1314
from .utils import Utils
14-
from math import sqrt
1515

1616

1717
class Template:
@@ -382,17 +382,16 @@ def get_draw_text_with_max_length_coordinates(
382382
width = font_size * length * 96 / 72
383383
height = font_size * 96 / 72
384384
c_half_width = (
385-
float(element[TemplateCoreConstants().annotation_rectangle_key][0])
386-
+ float(element[TemplateCoreConstants().annotation_rectangle_key][2])
385+
float(element[TemplateCoreConstants().annotation_rectangle_key][0])
386+
+ float(element[TemplateCoreConstants().annotation_rectangle_key][2])
387387
) / 2
388388
c_half_height = (
389389
float(element[TemplateCoreConstants().annotation_rectangle_key][1])
390390
+ float(element[TemplateCoreConstants().annotation_rectangle_key][3])
391391
) / 2
392392

393393
return (
394-
(c_half_width - width / 2 + c_half_width) / 2 - (
395-
font_size * 0.5 * 96 / 72 if (comb is True and length % 2 == 0) else 0
396-
),
394+
(c_half_width - width / 2 + c_half_width) / 2
395+
- (font_size * 0.5 * 96 / 72 if (comb is True and length % 2 == 0) else 0),
397396
(c_half_height - height / 2 + c_half_height) / 2,
398397
)

PyPDFForm/core/watermark.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def draw_text(
3838
text_to_draw = ""
3939

4040
if element.max_length is not None:
41-
text_to_draw = text_to_draw[:element.max_length]
41+
text_to_draw = text_to_draw[: element.max_length]
4242

4343
canv.setFont(element.font, element.font_size)
4444
canv.setFillColorRGB(

PyPDFForm/middleware/template.py

+11-4
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,20 @@ def build_elements_v2(pdf_stream: bytes) -> Dict[str, "Element"]:
6262
)
6363

6464
if _element.type == ElementType.text:
65-
_element.max_length = TemplateCore().get_text_field_max_length(element)
66-
if _element.max_length is not None and TemplateCore().is_text_field_comb(element):
65+
_element.max_length = TemplateCore().get_text_field_max_length(
66+
element
67+
)
68+
if (
69+
_element.max_length is not None
70+
and TemplateCore().is_text_field_comb(element)
71+
):
6772
_element.comb = True
6873

6974
if _element.max_length is not None:
70-
_element.font_size = TemplateCore().font_size_for_text_field_with_max_length(
71-
element, _element.max_length
75+
_element.font_size = (
76+
TemplateCore().font_size_for_text_field_with_max_length(
77+
element, _element.max_length
78+
)
7279
)
7380

7481
results[key] = _element

tests/conftest.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,18 @@ def sejda_template(pdf_samples):
1818

1919
@pytest.fixture
2020
def sample_template_with_max_length_text_field(pdf_samples):
21-
with open(os.path.join(pdf_samples, "sample_template_with_max_length_text_field.pdf"), "rb+") as f:
21+
with open(
22+
os.path.join(pdf_samples, "sample_template_with_max_length_text_field.pdf"),
23+
"rb+",
24+
) as f:
2225
return f.read()
2326

2427

2528
@pytest.fixture
2629
def sample_template_with_comb_text_field(pdf_samples):
27-
with open(os.path.join(pdf_samples, "sample_template_with_comb_text_field.pdf"), "rb+") as f:
30+
with open(
31+
os.path.join(pdf_samples, "sample_template_with_comb_text_field.pdf"), "rb+"
32+
) as f:
2833
return f.read()
2934

3035

tests/functional/test_fill_max_length_text_field.py

+31-13
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,28 @@
99

1010
@pytest.fixture
1111
def expected_directory():
12-
return os.path.join(os.path.dirname(__file__), "..", "..", "pdf_samples", "max_length_text_field_related")
12+
return os.path.join(
13+
os.path.dirname(__file__),
14+
"..",
15+
"..",
16+
"pdf_samples",
17+
"max_length_text_field_related",
18+
)
1319

1420

1521
def test_fill_max_length_text_field_all_chars(
1622
sample_template_with_max_length_text_field, expected_directory
1723
):
18-
with open(os.path.join(expected_directory, "max_length_text_field_all_chars.pdf"), "rb+") as f:
24+
with open(
25+
os.path.join(expected_directory, "max_length_text_field_all_chars.pdf"), "rb+"
26+
) as f:
1927
obj = PyPDFForm2(sample_template_with_max_length_text_field).fill(
2028
{
2129
"FirstName": "John",
2230
"MiddleName": "Joe",
2331
"LastName": "XXXXXXXXXX",
2432
"Awesomeness": True,
25-
"Gender": 0
33+
"Gender": 0,
2634
}
2735
)
2836

@@ -35,14 +43,16 @@ def test_fill_max_length_text_field_all_chars(
3543
def test_fill_max_length_text_field_odd_chars(
3644
sample_template_with_max_length_text_field, expected_directory
3745
):
38-
with open(os.path.join(expected_directory, "max_length_text_field_odd_chars.pdf"), "rb+") as f:
46+
with open(
47+
os.path.join(expected_directory, "max_length_text_field_odd_chars.pdf"), "rb+"
48+
) as f:
3949
obj = PyPDFForm2(sample_template_with_max_length_text_field).fill(
4050
{
4151
"FirstName": "John",
4252
"MiddleName": "Joe",
4353
"LastName": "XXX",
4454
"Awesomeness": True,
45-
"Gender": 0
55+
"Gender": 0,
4656
}
4757
)
4858

@@ -55,14 +65,16 @@ def test_fill_max_length_text_field_odd_chars(
5565
def test_fill_max_length_text_field_even_chars(
5666
sample_template_with_max_length_text_field, expected_directory
5767
):
58-
with open(os.path.join(expected_directory, "max_length_text_field_even_chars.pdf"), "rb+") as f:
68+
with open(
69+
os.path.join(expected_directory, "max_length_text_field_even_chars.pdf"), "rb+"
70+
) as f:
5971
obj = PyPDFForm2(sample_template_with_max_length_text_field).fill(
6072
{
6173
"FirstName": "John",
6274
"MiddleName": "Joe",
6375
"LastName": "XXXX",
6476
"Awesomeness": True,
65-
"Gender": 0
77+
"Gender": 0,
6678
}
6779
)
6880

@@ -75,14 +87,16 @@ def test_fill_max_length_text_field_even_chars(
7587
def test_fill_comb_text_field_all_chars(
7688
sample_template_with_comb_text_field, expected_directory
7789
):
78-
with open(os.path.join(expected_directory, "comb_text_field_all_chars.pdf"), "rb+") as f:
90+
with open(
91+
os.path.join(expected_directory, "comb_text_field_all_chars.pdf"), "rb+"
92+
) as f:
7993
obj = PyPDFForm2(sample_template_with_comb_text_field).fill(
8094
{
8195
"FirstName": "John",
8296
"MiddleName": "Joe",
8397
"LastName": "XXXXXXXXXX",
8498
"Awesomeness": True,
85-
"Gender": 0
99+
"Gender": 0,
86100
}
87101
)
88102

@@ -95,14 +109,16 @@ def test_fill_comb_text_field_all_chars(
95109
def test_fill_comb_text_field_odd_chars(
96110
sample_template_with_comb_text_field, expected_directory
97111
):
98-
with open(os.path.join(expected_directory, "comb_text_field_odd_chars.pdf"), "rb+") as f:
112+
with open(
113+
os.path.join(expected_directory, "comb_text_field_odd_chars.pdf"), "rb+"
114+
) as f:
99115
obj = PyPDFForm2(sample_template_with_comb_text_field).fill(
100116
{
101117
"FirstName": "John",
102118
"MiddleName": "Joe",
103119
"LastName": "XXX",
104120
"Awesomeness": True,
105-
"Gender": 0
121+
"Gender": 0,
106122
}
107123
)
108124

@@ -115,14 +131,16 @@ def test_fill_comb_text_field_odd_chars(
115131
def test_fill_comb_text_field_even_chars(
116132
sample_template_with_comb_text_field, expected_directory
117133
):
118-
with open(os.path.join(expected_directory, "comb_text_field_even_chars.pdf"), "rb+") as f:
134+
with open(
135+
os.path.join(expected_directory, "comb_text_field_even_chars.pdf"), "rb+"
136+
) as f:
119137
obj = PyPDFForm2(sample_template_with_comb_text_field).fill(
120138
{
121139
"FirstName": "John",
122140
"MiddleName": "Joe",
123141
"LastName": "XXXXXX",
124142
"Awesomeness": True,
125-
"Gender": 0
143+
"Gender": 0,
126144
}
127145
)
128146

tests/unit/test_template.py

+9-4
Original file line numberDiff line numberDiff line change
@@ -495,13 +495,18 @@ def test_build_elements_v2_sejda(sejda_template, sejda_data):
495495
assert data_dict[k]
496496

497497

498-
def test_build_elements_v2_with_comb_text_field(sample_template_with_max_length_text_field,
499-
sample_template_with_comb_text_field):
500-
result = TemplateMiddleware().build_elements_v2(sample_template_with_max_length_text_field)
498+
def test_build_elements_v2_with_comb_text_field(
499+
sample_template_with_max_length_text_field, sample_template_with_comb_text_field
500+
):
501+
result = TemplateMiddleware().build_elements_v2(
502+
sample_template_with_max_length_text_field
503+
)
501504
assert result["LastName"].max_length == 8
502505
assert result["LastName"].comb is None
503506

504-
result = TemplateMiddleware().build_elements_v2(sample_template_with_comb_text_field)
507+
result = TemplateMiddleware().build_elements_v2(
508+
sample_template_with_comb_text_field
509+
)
505510
assert result["LastName"].max_length == 7
506511
assert result["LastName"].comb is True
507512

0 commit comments

Comments
 (0)