Skip to content

Synfig animation exporter extension fails (Python traceback)

Steps to reproduce:

  • open Inkscape
  • Save As... and select "Synfig Animation (*.sif)" as the export format.

What happened?

Traceback from the Synfig exporter extension:

...
File "synfig_output.py", line 1049, in effect
    SynfigPrep.effect(self)
  File "/app/share/inkscape/extensions/synfig_prepare.py", line 456, in effect
    propagate_attribs(self.document.getroot())
  File "/app/share/inkscape/extensions/synfig_prepare.py", line 355, in propagate_attribs
    vx, vy, vw, vh = [get_dimension(x) for x in node.get_viewbox()]
  File "/app/share/inkscape/extensions/synfig_prepare.py", line 355, in <listcomp>
    vx, vy, vw, vh = [get_dimension(x) for x in node.get_viewbox()]
  File "/app/share/inkscape/extensions/synfig_prepare.py", line 427, in get_dimension
    elif s[-1] == "%":
TypeError: 'float' object is not subscriptable

Ensuring that get_dimension(...) in synfig_prepare.py gets a string object appears to solve the issue. I tried just stuffing a "s = str(s)" at the top of get_dimension() and it successfully exported. There may be a more elegant solution.

What should have happened?

Export Synfig animation file

Inkscape Version and Operating System:

  • Inkscape Version: 1.0beta2 (inkscape@2b71d25d, 2019-12-03)
  • Operating System: Debian
  • Operating System version: 8.10 (Jessie)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information