rst2epub2 icon indicating copy to clipboard operation
rst2epub2 copied to clipboard

Doesn't work with robot framework user guide

Open patriksevallius opened this issue 11 years ago • 2 comments

Running rst2epub.py on RobotFrameworkUserGuide.rst fails

To reproduce:

hg clone https://code.google.com/p/robotframework/ cd robotframework/doc/userguide/src echo ".. |version| replace:: trunk" > version.rst rst2epub.py --traceback RobotFrameworkUserGuide.rst

Traceback: Traceback (most recent call last): File "/usr/local/bin/rst2epub.py", line 5, in pkg_resources.run_script('rst2epub2==0.3.1', 'rst2epub.py') File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 488, in run_script self.require(requires)[0].run_script(script_name, ns) File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 1354, in run_script execfile(script_filename, namespace, namespace) File "/usr/local/lib/python2.7/dist-packages/rst2epub2-0.3.1-py2.7.egg/EGG-INFO/scripts/rst2epub.py", line 771, in sys.exit(main(sys.argv) or 0) File "/usr/local/lib/python2.7/dist-packages/rst2epub2-0.3.1-py2.7.egg/EGG-INFO/scripts/rst2epub.py", line 765, in main enable_exit_status=enable_exit_status) File "/usr/local/lib/python2.7/dist-packages/docutils-0.11-py2.7.egg/docutils/core.py", line 219, in publish output = self.writer.write(self.document, self.destination) File "/usr/local/lib/python2.7/dist-packages/docutils-0.11-py2.7.egg/docutils/writers/init.py", line 80, in write self.translate() File "/usr/local/lib/python2.7/dist-packages/rst2epub2-0.3.1-py2.7.egg/EGG-INFO/scripts/rst2epub.py", line 108, in translate self.document.walkabout(visitor) File "/usr/local/lib/python2.7/dist-packages/docutils-0.11-py2.7.egg/docutils/nodes.py", line 174, in walkabout if child.walkabout(visitor): File "/usr/local/lib/python2.7/dist-packages/docutils-0.11-py2.7.egg/docutils/nodes.py", line 174, in walkabout if child.walkabout(visitor): File "/usr/local/lib/python2.7/dist-packages/docutils-0.11-py2.7.egg/docutils/nodes.py", line 174, in walkabout if child.walkabout(visitor): File "/usr/local/lib/python2.7/dist-packages/docutils-0.11-py2.7.egg/docutils/nodes.py", line 166, in walkabout visitor.dispatch_visit(self) File "/usr/local/lib/python2.7/dist-packages/rst2epub2-0.3.1-py2.7.egg/EGG-INFO/scripts/rst2epub.py", line 146, in dispatch_visit html4css1.HTMLTranslator.dispatch_visit(self, node) File "/usr/local/lib/python2.7/dist-packages/docutils-0.11-py2.7.egg/docutils/nodes.py", line 1882, in dispatch_visit return method(node) File "/usr/local/lib/python2.7/dist-packages/rst2epub2-0.3.1-py2.7.egg/EGG-INFO/scripts/rst2epub.py", line 321, in visit_epubcontent self.create_chapter() File "/usr/local/lib/python2.7/dist-packages/rst2epub2-0.3.1-py2.7.egg/EGG-INFO/scripts/rst2epub.py", line 495, in create_chapter self.book.add_toc_page(order=self.book.next_order()) File "/usr/local/lib/python2.7/dist-packages/rst2epub2-0.3.1-py2.7.egg/epublib/epub.py", line 253, in add_toc_page assert not self.toc_page AssertionError

patriksevallius avatar Apr 14 '14 15:04 patriksevallius

Still crashes (the project has in meantime moved to https://github.com/robotframework/robotframework.git):

matej@stitny: src (master %)$ rst2epub --traceback -l en RobotFrameworkUserGuide.rst RobotFrameworkUserGuide.epub
RobotFrameworkUserGuide.rst:194: (WARNING/2) Duplicate explicit target name: "post-process outputs".
GettingStarted/INSTALL.rst:511: (ERROR/3) Duplicate target name, cannot be used as a unique reference: "post-process outputs".
ROOT <epublib.epub.TocMapNode instance at 0x7faf3231fe60>
> /home/matej/archiv/knihovna/repos/rst2epub2/epublib/epub.py(308)add_toc_map_node()
-> print("TITLE", title)
(Pdb) bt
  /home/matej/.local/bin/rst2epub(11)<module>()
-> load_entry_point('rst2epub2', 'console_scripts', 'rst2epub')()
  /home/matej/archiv/knihovna/repos/rst2epub2/rst2epub.py(917)main()
-> enable_exit_status=enable_exit_status,
  /usr/lib/python2.7/site-packages/docutils/core.py(219)publish()
-> output = self.writer.write(self.document, self.destination)
  /usr/lib/python2.7/site-packages/docutils/writers/__init__.py(80)write()
-> self.translate()
  /home/matej/archiv/knihovna/repos/rst2epub2/rst2epub.py(113)translate()
-> self.document.walkabout(visitor)
  /usr/lib/python2.7/site-packages/docutils/nodes.py(174)walkabout()
-> if child.walkabout(visitor):
  /usr/lib/python2.7/site-packages/docutils/nodes.py(166)walkabout()
-> visitor.dispatch_visit(self)
  /home/matej/archiv/knihovna/repos/rst2epub2/rst2epub.py(153)dispatch_visit()
-> html4css1.HTMLTranslator.dispatch_visit(self, node)
  /usr/lib/python2.7/site-packages/docutils/nodes.py(1882)dispatch_visit()
-> return method(node)
  /home/matej/archiv/knihovna/repos/rst2epub2/rst2epub.py(400)visit_epubcontent()
-> self.create_chapter()
  /home/matej/archiv/knihovna/repos/rst2epub2/rst2epub.py(613)create_chapter()
-> item.dest_path, striptags(self.section_title), parent=parent
> /home/matej/archiv/knihovna/repos/rst2epub2/epublib/epub.py(308)add_toc_map_node()
-> print("TITLE", title)
(Pdb)

mcepl avatar Jan 17 '19 01:01 mcepl

Check #9, I have had this issue because a title is required before any paragraph. EPUB generation seems less flexible than HTML (in its current implementation by this library).

gagath avatar Dec 24 '19 12:12 gagath