Spaces:
Paused
Paused
fix(iserv): no repeated text from merged DOCX cells
Browse filesCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
iserv-filter/taskfilter.py
CHANGED
|
@@ -42,7 +42,12 @@ def _docx(data):
|
|
| 42 |
from docx import Document
|
| 43 |
|
| 44 |
doc = Document(io.BytesIO(data))
|
| 45 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
|
| 47 |
|
| 48 |
def _html(data):
|
|
|
|
| 42 |
from docx import Document
|
| 43 |
|
| 44 |
doc = Document(io.BytesIO(data))
|
| 45 |
+
cells = {} # a merged cell is returned once per grid column it spans: take each one only once
|
| 46 |
+
for t in doc.tables:
|
| 47 |
+
for r in t.rows:
|
| 48 |
+
for c in r.cells:
|
| 49 |
+
cells.setdefault(c._tc, c.text)
|
| 50 |
+
return "\n".join([p.text for p in doc.paragraphs] + list(cells.values()))
|
| 51 |
|
| 52 |
|
| 53 |
def _html(data):
|