Skip to content

Commit 44365fa

Browse files
authored
Merge pull request #8 from LEv145/dev
v 2.5
2 parents f80fdb3 + d6fc977 commit 44365fa

File tree

2 files changed

+33
-35
lines changed

2 files changed

+33
-35
lines changed

src/nodes/grid_annotation.py

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,8 @@ def execute(
2626
font_size: int,
2727
) -> tuple[Annotation]:
2828
font = ImageFont.truetype(str(STATIC_PATH / "Roboto-Regular.ttf"), size=font_size)
29-
column_texts_list = self._set_value_to_texts_list(
30-
self._get_texts_from_string(column_texts),
31-
)
32-
row_texts_list = self._set_value_to_texts_list(
33-
self._get_texts_from_string(row_texts),
34-
)
29+
column_texts_list = self._get_texts_from_string(column_texts)
30+
row_texts_list = self._get_texts_from_string(row_texts)
3531

3632
result = Annotation(column_texts=column_texts_list, row_texts=row_texts_list, font=font)
3733
return (result,)
@@ -42,8 +38,3 @@ def _get_texts_from_string(self, string: str) -> list[str]:
4238
for i in string.split(";")
4339
if (result := i.strip()) != ""
4440
]
45-
46-
def _set_value_to_texts_list(self, texts_list: list[str]) -> list[str]:
47-
if not texts_list:
48-
return ["None"]
49-
return texts_list

src/utils/images_grid.py

Lines changed: 31 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -92,19 +92,24 @@ def _create_grid_annotation(
9292
row_texts: list[str],
9393
font: ImageFont.FreeTypeFont,
9494
) -> Image.Image:
95-
if not column_texts or not row_texts:
96-
raise ValueError("Column text or row text is empty")
95+
if not column_texts and not row_texts:
96+
raise ValueError("Column text and row text is empty")
9797

9898
grid = grid_info.image
99-
left_padding = int(
100-
max(
101-
font.getlength(splitted_text)
102-
for raw_text in row_texts
103-
for splitted_text in raw_text.split("\n")
99+
left_padding = 0
100+
top_padding = 0
101+
102+
if row_texts:
103+
left_padding = int(
104+
max(
105+
font.getlength(splitted_text)
106+
for raw_text in row_texts
107+
for splitted_text in raw_text.split("\n")
108+
)
109+
+ font.getlength(WIDEST_LETTER)*2
104110
)
105-
+ font.getlength(WIDEST_LETTER)*2
106-
)
107-
top_padding = int(font.size * 2)
111+
if column_texts:
112+
top_padding = int(font.size * 2)
108113

109114
image = Image.new(
110115
"RGB",
@@ -116,20 +121,22 @@ def _create_grid_annotation(
116121
draw.font = font # type: ignore
117122

118123
_paste_image_to_lower_left_corner(image, grid)
119-
_draw_column_text(
120-
draw=draw,
121-
texts=column_texts,
122-
grid_info=grid_info,
123-
left_padding=left_padding,
124-
top_padding=top_padding,
125-
)
126-
_draw_row_text(
127-
draw=draw,
128-
texts=row_texts,
129-
grid_info=grid_info,
130-
left_padding=left_padding,
131-
top_padding=top_padding,
132-
)
124+
if column_texts:
125+
_draw_column_text(
126+
draw=draw,
127+
texts=column_texts,
128+
grid_info=grid_info,
129+
left_padding=left_padding,
130+
top_padding=top_padding,
131+
)
132+
if row_texts:
133+
_draw_row_text(
134+
draw=draw,
135+
texts=row_texts,
136+
grid_info=grid_info,
137+
left_padding=left_padding,
138+
top_padding=top_padding,
139+
)
133140

134141
return image
135142

0 commit comments

Comments
 (0)