[reportlab-users] Crash when creating vertical spans on split tables

Casey Banner casey at glooko.com
Fri Nov 4 13:30:37 EDT 2011


Thanks, that fixes my problem.

- Casey

On Fri, Nov 4, 2011 at 10:06 AM, Aaron Barlow <aaron.barlow at gmail.com>wrote:


> 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

>

>

>

> _______________________________________________

> 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/723a84a2/attachment.html>


More information about the reportlab-users mailing list