Modify ↓
Opened 4 years ago
Closed 4 years ago
#14012 closed defect (fixed)
Exception with wiki table
Reported by: | Cinc-th | Owned by: | Cinc-th |
---|---|---|---|
Priority: | normal | Component: | TracWikiPrintPlugin |
Severity: | normal | Keywords: | |
Cc: | Trac Release: | 1.4 |
Description
With a wiki page holding a malformed table there is an exception when creating a PDF:
File "/Users/cinc/projects/venvs/Trac-1.4/lib/python2.7/site-packages/trac/web/main.py", line 639, in dispatch_request dispatcher.dispatch(req) File "/Users/cinc/projects/venvs/Trac-1.4/lib/python2.7/site-packages/trac/web/main.py", line 250, in dispatch resp = chosen_handler.process_request(req) File "/Users/cinc/projects/venvs/Trac-1.4/lib/python2.7/site-packages/trac/wiki/web_ui.py", line 186, in process_request format, versioned_page.name) File "/Users/cinc/projects/venvs/Trac-1.4/lib/python2.7/site-packages/trac/mimeview/api.py", line 1020, in send_converted iterable=iterable) File "/Users/cinc/projects/venvs/Trac-1.4/lib/python2.7/site-packages/trac/mimeview/api.py", line 705, in convert_content conversion.key) File "/Users/cinc/projects/tracwikiprintplugin/1.4/wikiprint/wikiprint.py", line 463, in convert_content date=format_datetime(to_datetime(None))) File "/Users/cinc/projects/tracwikiprintplugin/1.4/wikiprint/wikiprint.py", line 301, in html_to_pdf link_callback=loader.getFileName) File "/Users/cinc/projects/venvs/Trac-1.4/lib/python2.7/site-packages/xhtml2pdf/document.py", line 105, in pisaDocument encoding, context=context, xml_output=xml_output) File "/Users/cinc/projects/venvs/Trac-1.4/lib/python2.7/site-packages/xhtml2pdf/document.py", line 67, in pisaStory pisaParser(src, context, default_css, xhtml, encoding, xml_output) File "/Users/cinc/projects/venvs/Trac-1.4/lib/python2.7/site-packages/xhtml2pdf/parser.py", line 761, in pisaParser pisaLoop(document, context) File "/Users/cinc/projects/venvs/Trac-1.4/lib/python2.7/site-packages/xhtml2pdf/parser.py", line 699, in pisaLoop pisaLoop(node, context, path, **kw) File "/Users/cinc/projects/venvs/Trac-1.4/lib/python2.7/site-packages/xhtml2pdf/parser.py", line 643, in pisaLoop pisaLoop(nnode, context, path, **kw) File "/Users/cinc/projects/venvs/Trac-1.4/lib/python2.7/site-packages/xhtml2pdf/parser.py", line 643, in pisaLoop pisaLoop(nnode, context, path, **kw) File "/Users/cinc/projects/venvs/Trac-1.4/lib/python2.7/site-packages/xhtml2pdf/parser.py", line 648, in pisaLoop obj.end(context) File "/Users/cinc/projects/venvs/Trac-1.4/lib/python2.7/site-packages/xhtml2pdf/tables.py", line 199, in end style=TableStyle(tdata.styles)) File "/Users/cinc/projects/venvs/Trac-1.4/lib/python2.7/site-packages/reportlab/platypus/tables.py", line 276, in __init__ raise ValueError("%s must have at least a row and column" % self.identity())
Example for such a table can be found on WikiFormatting page (last section, Miscellaneous).
This is a minimal test case:
== Broken Table ||= Header 1 =||= Header 2 =|| {{{#!td TD 1 }}} {{{#!td TD 2 }}} |----------------------------------
The last line |----------------------------------
is converted into a table row <tr></tr>
without any table cells <td></td>
causing the problem.
Attachments (0)
Note: See
TracTickets for help on using
tickets.
In 18291: