#1003529 retext: rst preview doesn't work

Package:
python3-markups
Source:
pymarkups
Submitter:
Jean-Michel Nirgal Vourgère
Date:
2022-01-11 15:27:04 UTC
Severity:
important
#1003529#5
Date:
2022-01-11 11:41:41 UTC
From:
To:
Dear Maintainer,

When I enable the preview on retext, I only got a white page.

The console says:

Using configuration file: /home/nirgal/.config/ReText project/ReText.conf
Exception occurred while parsing document:
Traceback (most recent call last):
  File "/usr/share/retext/ReText/tab.py", line 249, in updatePreviewBox
    self.converted = self.converterProcess.get_result()
  File "/usr/share/retext/ReText/converterprocess.py", line 184, in get_result
    raise ConversionError(result)
ReText.converterprocess.ConversionError: The background markup conversion process received this exception:
    Traceback (most recent call last):
      File "/usr/share/retext/ReText/converterprocess.py", line 88, in _converter_process_func
        converted = current_markup.convert(job['text'])
      File "/usr/lib/python3/dist-packages/markups/restructuredtext.py", line 68, in convert
        parts = self._publish_parts(text, source_path=self.filename,
      File "/usr/lib/python3/dist-packages/docutils/core.py", line 441, in publish_parts
        output, pub = publish_programmatically(
      File "/usr/lib/python3/dist-packages/docutils/core.py", line 665, in publish_programmatically
        output = pub.publish(enable_exit_status=enable_exit_status)
      File "/usr/lib/python3/dist-packages/docutils/core.py", line 220, in publish
        output = self.writer.write(self.document, self.destination)
      File "/usr/lib/python3/dist-packages/docutils/writers/__init__.py", line 78, in write
        self.translate()
      File "/usr/lib/python3/dist-packages/docutils/writers/_html_base.py", line 78, in translate
        self.document.walkabout(visitor)
      File "/usr/lib/python3/dist-packages/docutils/nodes.py", line 214, in walkabout
        if child.walkabout(visitor):
      File "/usr/lib/python3/dist-packages/docutils/nodes.py", line 206, in walkabout
        visitor.dispatch_visit(self)
      File "/usr/lib/python3/dist-packages/docutils/nodes.py", line 1995, in dispatch_visit
        return method(node)
      File "/usr/lib/python3/dist-packages/docutils/writers/_html_base.py", line 1531, in visit_title
        self.body.append(self.starttag(node, 'h1', '', CLASS='title'))
      File "/usr/lib/python3/dist-packages/markups/restructuredtext.py", line 19, in starttag
        if node.get(line, None) is not None:
    NameError: name 'line' is not defined

I patched python3-markups package, changing line 18 of
/usr/lib/python3/dist-packages/markups/restructuredtext.py:
- if node.line is not None
into
+ if hasattr(node, "line") and node.line is not None
and now it works ok.

I appologize for the severity, but without a preview, retext is a simple
text editor, and of no much use (None I can really think of).

Thank you for maintaining that package. <3

#1003529#10
Date:
2022-01-11 15:22:13 UTC
From:
To:
Hi!

It is a bug in python3-markups, and it was fixed in 3.1.2. Unfortunately,
Debian stable has 3.1.1.

Adjusting the metadata accordingly.