From febf971b21e1183a9a9968fa9a50499324b9de1c Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 9 Jun 2021 12:53:50 +0200 Subject: [PATCH] Fix for Inkscape 1.0.2 Fixed Python script so it'll run on Inkscape 1.0.2 Tested with default addon settings, on 1.0.2-2 (e86c870879, 2021-01-15) --- ImportC2D.zip | Bin 5382 -> 5284 bytes c2d_input.py | 15 +++++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ImportC2D.zip b/ImportC2D.zip index f4e4b88a22ca8880338977dc10098446dff0aead..78cb62c3652ec8a61d92aabf17b75699ff7bf799 100644 GIT binary patch literal 5284 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'.format(width,height))) @@ -452,7 +455,7 @@ def c2d_curve(self,x,y,point_types,points,handles_1,handles_2): return self.path(path_data) if __name__ == '__main__': - parser = inkex.optparse.OptionParser(usage="usage: %prog [-p] C2Dfile", + parser = optparse.OptionParser(usage="usage: %prog [-p] C2Dfile", option_class=inkex.InkOption) parser.add_option('-p', '--as_paths', action='store', help='Import all objects as paths.', default=False) @@ -463,7 +466,7 @@ def c2d_curve(self,x,y,point_types,points,handles_1,handles_2): parser.add_option('--inputhelp', action='store') parser.add_option('--textwarning', action='store') parser.add_option('--helptext', action='store') - (options, args) = parser.parse_args(inkex.sys.argv[1:]) + (options, args) = parser.parse_args(sys.argv[1:]) # The File/Import... dialog only allows importing a single file at a time, # and the fully-qualified filename is passed as the first positional @@ -473,4 +476,4 @@ def c2d_curve(self,x,y,point_types,points,handles_1,handles_2): # An Inkscape input extension does whatever it needs to do with the input # file and then writes an SVG to stdout. Inkscape takes this as input and # creates a new layer out of the contents of the SVG. - c2d.svg.write(inkex.sys.stdout) + c2d.svg.write(sys.stdout.buffer)