[reportlab-users] Crash when creating vertical spans on split tables
Aaron Barlow
aaron.barlow at gmail.com
Fri Nov 4 13:06:53 EDT 2011
I had that same problem. I fixed it by adjusting the source code in tables.py from:
t = sum([V[x]+M.get(x,0) for x in xrange(x0,x1)]) on line 205
to
for x in xrange(x0, x1):
if V[x] is None:
continue
t += V[x]+M.get(x,0)
The error is because spanning in PDF tables creates a "super-cell" and a vertical split of a table cell isn't defined. I'm sure someone will correct me if I'm wrong about that. However, for my needs, changing the source code above removed the error.
--
Aaron
On Nov 3, 2011, at 6:24 PM, Casey Banner wrote:
> Hi,
>
> I have a crash that I can reproduce by adding a vertical SPAN to my TableStyle which ends up either crossing over a split border, or begins at the first row of any split other than the first.
>
> Example: Table is split at row 5, and the SPAN is from 3 to 7.
> Example: Table is split at row 5, and the SPAN is from 5 to 7.
>
> I have made sure that the first cell in my SPAN is not an empty string.
>
> The trace:
>
> File "render.py", line 179, in <module>
> doc.build([t])
> File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/reportlab-2.5-py2.7-macosx-10.6-x86_64.egg/reportlab/platypus/doctemplate.py", line 1117, in build
> BaseDocTemplate.build(self,flowables, canvasmaker=canvasmaker)
> File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/reportlab-2.5-py2.7-macosx-10.6-x86_64.egg/reportlab/platypus/doctemplate.py", line 880, in build
> self.handle_flowable(flowables)
> File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/reportlab-2.5-py2.7-macosx-10.6-x86_64.egg/reportlab/platypus/doctemplate.py", line 763, in handle_flowable
> if frame.add(f, canv, trySplit=self.allowSplitting):
> File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/reportlab-2.5-py2.7-macosx-10.6-x86_64.egg/reportlab/platypus/frames.py", line 159, in _add
> w, h = flowable.wrap(aW, h)
> File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/reportlab-2.5-py2.7-macosx-10.6-x86_64.egg/reportlab/platypus/tables.py", line 1113, in wrap
> self._calc(availWidth, availHeight)
> File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/reportlab-2.5-py2.7-macosx-10.6-x86_64.egg/reportlab/platypus/tables.py", line 587, in _calc
> self._calc_height(availHeight,availWidth,W=W)
> File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/reportlab-2.5-py2.7-macosx-10.6-x86_64.egg/reportlab/platypus/tables.py", line 553, in _calc_height
> spanFixDim(H0,H,spanCons,lim=hmax)
> File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/reportlab-2.5-py2.7-macosx-10.6-x86_64.egg/reportlab/platypus/tables.py", line 205, in spanFixDim
> t = sum([V[x]+M.get(x,0) for x in xrange(x0,x1)])
> TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
>
> Any ideas on what would cause this?
>
> Thanks,
> Casey
>
> _______________________________________________
> reportlab-users mailing list
> reportlab-users at lists2.reportlab.com
> http://two.pairlist.net/mailman/listinfo/reportlab-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://two.pairlist.net/pipermail/reportlab-users/attachments/20111104/e455f18b/attachment.html>
More information about the reportlab-users
mailing list