After using rml2pdf for over a year, a problem with tags popped up in my code when I used it recently. Suddenly, I began getting a list index out of range error. After doing some debugging, I tracked it down to the tag.
In [22]: rml2pdf.go(root_path + r'\Test File.rml', root_path + r'\Output.pdf')
Traceback (most recent call last):
File "C:\Program Files\Anaconda3\lib\site-packages\reportlab\platypus\paraparser.py", line 3220, in parse
self.feed(text)
File "C:\Program Files\Anaconda3\lib\html\parser.py", line 111, in feed
self.goahead(0)
File "C:\Program Files\Anaconda3\lib\html\parser.py", line 165, in goahead
self.handle_data(rawdata[i:j])
File "C:\Program Files\Anaconda3\lib\site-packages\z3c\rml\paraparser.py", line 244, in handle_data
reportlab.platypus.paraparser.ParaParser.handle_data(self, data)
File "C:\Program Files\Anaconda3\lib\site-packages\reportlab\platypus\paraparser.py", line 3122, in handle_data
frag = copy.copy(self._stack[-1])
IndexError: list index out of range
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\JCHARL~1\AppData\Local\Temp/ipykernel_74424/1767421038.py", line 1, in <module>
rml2pdf.go(root_path + r'\Test File.rml', root_path + r'\Output.pdf')
File "C:\Program Files\Anaconda3\lib\site-packages\z3c\rml\rml2pdf.py", line 75, in go
doc.process(outputFile)
File "C:\Program Files\Anaconda3\lib\site-packages\z3c\rml\document.py", line 736, in process
self.processSubDirectives(select=('template', 'story'))
File "C:\Program Files\Anaconda3\lib\site-packages\z3c\rml\directive.py", line 121, in processSubDirectives
directive.process()
File "C:\Program Files\Anaconda3\lib\site-packages\z3c\rml\template.py", line 46, in process
self.parent.flowables = super().process()
File "C:\Program Files\Anaconda3\lib\site-packages\z3c\rml\flowable.py", line 1633, in process
self.processSubDirectives()
File "C:\Program Files\Anaconda3\lib\site-packages\z3c\rml\directive.py", line 121, in processSubDirectives
directive.process()
File "C:\Program Files\Anaconda3\lib\site-packages\z3c\rml\flowable.py", line 323, in process
self.parent.flow.append(self.klass(**args))
File "C:\Program Files\Anaconda3\lib\site-packages\z3c\rml\paraparser.py", line 261, in __init__
reportlab.platypus.paragraph.cleanBlockQuotedText, manager)
File "C:\Program Files\Anaconda3\lib\site-packages\z3c\rml\paraparser.py", line 273, in _setup
style, frags, bulletTextFrags = _parser.parse(text, style)
File "C:\Program Files\Anaconda3\lib\site-packages\reportlab\platypus\paraparser.py", line 3222, in parse
annotateException('\nparagraph text %s caused exception' % ascii(text))
File "C:\Program Files\Anaconda3\lib\site-packages\reportlab\lib\utils.py", line 1297, in annotateException
rl_reraise(t,t(sep.join((_ for _ in (msg,str(v),postMsg) if _))),b)
File "C:\Program Files\Anaconda3\lib\site-packages\reportlab\lib\utils.py", line 169, in rl_reraise
raise v.with_traceback(b)
File "C:\Program Files\Anaconda3\lib\site-packages\reportlab\platypus\paraparser.py", line 3220, in parse
self.feed(text)
File "C:\Program Files\Anaconda3\lib\html\parser.py", line 111, in feed
self.goahead(0)
File "C:\Program Files\Anaconda3\lib\html\parser.py", line 165, in goahead
self.handle_data(rawdata[i:j])
File "C:\Program Files\Anaconda3\lib\site-packages\z3c\rml\paraparser.py", line 244, in handle_data
reportlab.platypus.paraparser.ParaParser.handle_data(self, data)
File "C:\Program Files\Anaconda3\lib\site-packages\reportlab\platypus\paraparser.py", line 3122, in handle_data
frag = copy.copy(self._stack[-1])
IndexError:
paragraph text '<para>Hello World!</title> <para>Foobar</para> </story></para>' caused exception list index out of range
I'm using python 3.7.11, zrc.rml 4.16 and reportlab 3.6.1. I've attached a sample RML file for reproducing the error.