From bbf9d0cbf705fd6b4e372dae5ceca2fe9a42b348 Mon Sep 17 00:00:00 2001 From: Mario Voigt Date: Thu, 29 May 2025 16:49:04 +0200 Subject: [PATCH] make svg2fcstd compatible with FreeCAD 0.21 --- .../svg2fcsketch/svg2fcsketch.py | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/extensions/fablabchemnitz/svg2fcsketch/svg2fcsketch.py b/extensions/fablabchemnitz/svg2fcsketch/svg2fcsketch.py index 587fe4c..b833d74 100644 --- a/extensions/fablabchemnitz/svg2fcsketch/svg2fcsketch.py +++ b/extensions/fablabchemnitz/svg2fcsketch/svg2fcsketch.py @@ -64,13 +64,12 @@ import sys import math sys_platform = sys.platform.lower() if sys_platform.startswith('win'): - sys.path.append('C:\Program Files\Inkscape\share\extensions') + sys.path.append('C:\\Program Files\\Inkscape\\share\\extensions') elif sys_platform.startswith('darwin'): sys.path.append('~/.config/inkscape/extensions') else: # Linux sys.path.append('/usr/share/inkscape/extensions/') -sys.path.append('/usr/lib64/freecad-daily/lib64/') # prefer daily over normal. -sys.path.append('/usr/lib64/freecad/lib64/') + sys.path.append('/usr/lib/freecad-python3/lib/') verbose=-1 # -1=quiet, 0=normal, 1=babble epsilon = 0.00001 @@ -89,7 +88,6 @@ if verbose <= 0: os.dup2(99,1) # back in cansas. import Part, Sketcher # causes SEGV if Base is not yet imported from FreeCAD -import ProfileLib.RegularPolygon as Poly import gettext import re import inkex @@ -325,7 +323,7 @@ class InkSvg(): selectors = [] classes = node.get('class', '') # classes == None can happen here. if classes is not None and classes != '': - selectors = ["."+cls for cls in re.split('[\s,]+', classes)] + selectors = ["."+cls for cls in re.split(r'[\s,]+', classes)] selectors += [node.tag+sel for sel in selectors] node_id = node.get('id', '') if node_id is not None and node_id != '': @@ -474,19 +472,19 @@ class InkSvg(): Represent css cdata as a hash in css_dict. Implements what is seen on: http://www.blooberry.com/indexdot/css/examples/cssembedded.htm """ - text=re.sub('^\s*(