Skip to content

Commit deac1e1

Browse files
committed
run ruff format
1 parent f6e1e52 commit deac1e1

File tree

14 files changed

+253
-211
lines changed

14 files changed

+253
-211
lines changed

src/rtflite/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,4 @@
3939
"PageBreakCalculator",
4040
"get_string_width",
4141
"LibreOfficeConverter",
42-
]
42+
]

src/rtflite/encoding/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
__all__ = [
77
"RTFEncodingEngine",
88
"UnifiedRTFEncoder",
9-
]
9+
]

src/rtflite/encoding/engine.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@ def encode_document(self, document: "RTFDocument") -> str:
2828
Returns:
2929
Complete RTF string
3030
"""
31-
return self._encoder.encode(document)
31+
return self._encoder.encode(document)

src/rtflite/encoding/renderer.py

Lines changed: 76 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,12 @@ def __init__(self):
2626

2727
def render(self, document: Any, page: PageContext) -> list[str]:
2828
"""Render a single page to RTF."""
29-
29+
3030
page_elements = []
3131

3232
# 1. Page Break (except first page)
3333
if not page.is_first_page:
34-
page_elements.append(
35-
self.document_service.generate_page_break(document)
36-
)
34+
page_elements.append(self.document_service.generate_page_break(document))
3735

3836
# 2. Title
3937
if (
@@ -52,7 +50,9 @@ def render(self, document: Any, page: PageContext) -> list[str]:
5250
if (
5351
document.rtf_subline
5452
and document.rtf_subline.text
55-
and self._should_show(document.rtf_page.page_title, page) # Using page_title rule for subline visibility as per original
53+
and self._should_show(
54+
document.rtf_page.page_title, page
55+
) # Using page_title rule for subline visibility as per original
5656
):
5757
subline_content = self.encoding_service.encode_subline(
5858
document.rtf_subline, method="line"
@@ -62,9 +62,7 @@ def render(self, document: Any, page: PageContext) -> list[str]:
6262

6363
# 4. Subline Header (from Strategy)
6464
if page.subline_header:
65-
subline_header_content = self._generate_subline_header(
66-
page.subline_header
67-
)
65+
subline_header_content = self._generate_subline_header(page.subline_header)
6866
if subline_header_content:
6967
page_elements.append(subline_header_content)
7068

@@ -97,11 +95,9 @@ def render(self, document: Any, page: PageContext) -> list[str]:
9795
col_idx = 0
9896
# Try to find column index for legacy reasons, though likely unused if we handle spanning cleanly
9997
if document.rtf_body.page_by and isinstance(document.df, pl.DataFrame):
100-
try:
101-
col_idx = document.df.columns.index(
102-
document.rtf_body.page_by[0]
103-
)
104-
except ValueError:
98+
try:
99+
col_idx = document.df.columns.index(document.rtf_body.page_by[0])
100+
except ValueError:
105101
col_idx = 0
106102

107103
header_text = self._format_group_header(page.pageby_header_info)
@@ -124,9 +120,9 @@ def render(self, document: Any, page: PageContext) -> list[str]:
124120
and document.rtf_footnote.text
125121
and self._should_show(document.rtf_page.page_footnote, page)
126122
):
127-
# Check for border override from processor
123+
# Check for border override from processor
128124
border_style = page.component_borders.get("footnote")
129-
125+
130126
footnote_content = self.encoding_service.encode_footnote(
131127
document.rtf_footnote,
132128
page.page_number,
@@ -168,9 +164,12 @@ def render(self, document: Any, page: PageContext) -> list[str]:
168164
return page_elements
169165

170166
def _should_show(self, location: str, page: PageContext) -> bool:
171-
if location == "all": return True
172-
if location == "first": return page.is_first_page
173-
if location == "last": return page.is_last_page
167+
if location == "all":
168+
return True
169+
if location == "first":
170+
return page.is_first_page
171+
if location == "last":
172+
return page.is_last_page
174173
return False
175174

176175
def _format_group_header(self, info: dict) -> str:
@@ -181,27 +180,30 @@ def _format_group_header(self, info: dict) -> str:
181180

182181
def _generate_subline_header(self, info: dict) -> str:
183182
text = self._format_group_header(info)
184-
if not text: return ""
185-
return fr"{{\pard\hyphpar\fi0\li0\ri0\ql\fs18{{\f0 {text}}}\par}}"
183+
if not text:
184+
return ""
185+
return rf"{{\pard\hyphpar\fi0\li0\ri0\ql\fs18{{\f0 {text}}}\par}}"
186186

187187
def _render_column_headers(self, document: Any, page: PageContext) -> list[str]:
188188
# Similar logic to PaginatedStrategy.encode header section
189-
189+
190190
header_elements = []
191191
headers_to_process = []
192-
192+
193193
if is_nested_header_list(document.rtf_column_header):
194-
for section in document.rtf_column_header:
195-
if section: headers_to_process.extend(section)
194+
for section in document.rtf_column_header:
195+
if section:
196+
headers_to_process.extend(section)
196197
elif is_flat_header_list(document.rtf_column_header):
197198
headers_to_process = document.rtf_column_header
198199
elif is_single_header(document.rtf_column_header):
199200
headers_to_process = [document.rtf_column_header]
200-
201+
201202
for i, header in enumerate(headers_to_process):
202-
if header is None: continue
203+
if header is None:
204+
continue
203205
header_copy = deepcopy(header)
204-
206+
205207
# Auto-populate header text from columns if missing and as_colheader is True
206208
if (
207209
header_copy.text is None
@@ -218,53 +220,62 @@ def _render_column_headers(self, document: Any, page: PageContext) -> list[str]:
218220
orient="row",
219221
)
220222
header_copy.text = header_df
221-
223+
222224
# Adjust col_rel_width if needed (logic from PaginatedStrategy)
223-
# Since we are using page.data which is already sliced/processed,
225+
# Since we are using page.data which is already sliced/processed,
224226
# we might need to adjust widths if they were originally defined for full table
225227
if document.rtf_body.col_rel_width is not None:
226-
# If body has specific widths, try to map them.
228+
# If body has specific widths, try to map them.
227229
# For simplicity in this refactor, if we have header text now, we proceed.
228230
pass
229-
231+
230232
# Remove columns if necessary (page_by/subline_by)
231233
# Note: If we just populated from page.data, page.data already has columns removed!
232234
# So we only need to filter if text came from original document and has extra columns.
233235
if isinstance(header_copy.text, pl.DataFrame):
234236
cols_remove = set()
235-
if document.rtf_body.page_by: cols_remove.update(document.rtf_body.page_by)
236-
if document.rtf_body.subline_by: cols_remove.update(document.rtf_body.subline_by)
237-
237+
if document.rtf_body.page_by:
238+
cols_remove.update(document.rtf_body.page_by)
239+
if document.rtf_body.subline_by:
240+
cols_remove.update(document.rtf_body.subline_by)
241+
238242
if cols_remove:
239-
remaining = [c for c in header_copy.text.columns if c not in cols_remove]
243+
remaining = [
244+
c for c in header_copy.text.columns if c not in cols_remove
245+
]
240246
if remaining:
241247
header_copy.text = header_copy.text.select(remaining)
242248

243249
# Apply top border for first page/first header
244-
if page.is_first_page and i == 0 and document.rtf_page.border_first and header_copy.text is not None:
245-
if isinstance(header_copy.text, pl.DataFrame):
246-
dims = header_copy.text.shape
247-
else:
248-
dims = (1, len(header_copy.text) if header_copy.text else 0)
249-
250-
header_copy.border_top = BroadcastValue(
251-
value=header_copy.border_top, dimension=dims
252-
).update_row(0, [document.rtf_page.border_first] * dims[1])
250+
if (
251+
page.is_first_page
252+
and i == 0
253+
and document.rtf_page.border_first
254+
and header_copy.text is not None
255+
):
256+
if isinstance(header_copy.text, pl.DataFrame):
257+
dims = header_copy.text.shape
258+
else:
259+
dims = (1, len(header_copy.text) if header_copy.text else 0)
260+
261+
header_copy.border_top = BroadcastValue(
262+
value=header_copy.border_top, dimension=dims
263+
).update_row(0, [document.rtf_page.border_first] * dims[1])
253264

254265
header_rtf = self.encoding_service.encode_column_header(
255266
header_copy.text, header_copy, document.rtf_page.col_width
256267
)
257268
header_elements.extend(header_rtf)
258-
269+
259270
return header_elements
260271

261272
def _render_body(self, document: Any, page: PageContext) -> list[str]:
262273
page_attrs = page.final_body_attrs or document.rtf_body
263274
page_df = page.data
264275
col_widths = page.col_widths
265-
276+
266277
elements = []
267-
278+
268279
# Check for internal group boundaries
269280
if (
270281
is_single_body(document.rtf_body)
@@ -277,41 +288,43 @@ def _render_body(self, document: Any, page: PageContext) -> list[str]:
277288
col_idx = 0
278289
# Find col idx for spanning
279290
if document.rtf_body.page_by and isinstance(document.df, pl.DataFrame):
280-
try:
281-
col_idx = document.df.columns.index(
282-
document.rtf_body.page_by[0]
283-
)
284-
except ValueError:
291+
try:
292+
col_idx = document.df.columns.index(document.rtf_body.page_by[0])
293+
except ValueError:
285294
col_idx = 0
286295

287296
prev_row = 0
288297
for boundary in page.group_boundaries:
289298
page_rel_row = boundary["page_relative_row"]
290-
299+
291300
if page_rel_row > prev_row:
292301
segment = page_df[prev_row:page_rel_row]
293302
# We must use internal _encode method of TableAttributes (attrs are already finalized)
294303
# Note: We need to ensure page_attrs is the TableAttributes object
295-
elements.extend(page_attrs._encode(segment, col_widths, row_offset=prev_row))
296-
304+
elements.extend(
305+
page_attrs._encode(segment, col_widths, row_offset=prev_row)
306+
)
307+
297308
# Spanning Row
298309
header_text = self._format_group_header(boundary)
299310
if header_text:
300311
spanning = self.encoding_service.encode_spanning_row(
301-
text=header_text,
302-
page_width=document.rtf_page.col_width or 8.5,
303-
rtf_body_attrs=document.rtf_body,
304-
col_idx=col_idx
312+
text=header_text,
313+
page_width=document.rtf_page.col_width or 8.5,
314+
rtf_body_attrs=document.rtf_body,
315+
col_idx=col_idx,
305316
)
306317
elements.extend(spanning)
307-
318+
308319
prev_row = page_rel_row
309-
320+
310321
if prev_row < len(page_df):
311322
segment = page_df[prev_row:]
312-
elements.extend(page_attrs._encode(segment, col_widths, row_offset=prev_row))
323+
elements.extend(
324+
page_attrs._encode(segment, col_widths, row_offset=prev_row)
325+
)
313326
else:
314327
# Simple body render
315328
elements.extend(page_attrs._encode(page_df, col_widths, row_offset=0))
316-
329+
317330
return elements

0 commit comments

Comments
 (0)