From d36e5a10b7cd895fe7645de704d65858ccde84d1 Mon Sep 17 00:00:00 2001 From: moeb Date: Fri, 15 May 2015 12:50:39 +0200 Subject: [PATCH 1/3] fixes https://github.com/jmwright/cadquery-freecad-module/issues/53 and adds freecads library path for archlinux --- cadquery/freecad_impl/__init__.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cadquery/freecad_impl/__init__.py b/cadquery/freecad_impl/__init__.py index ac73b1e..46d6c64 100644 --- a/cadquery/freecad_impl/__init__.py +++ b/cadquery/freecad_impl/__init__.py @@ -39,6 +39,7 @@ def _fc_path(): "/usr/lib/freecad/lib", "/opt/freecad/lib/", "/usr/bin/freecad/lib", + "/usr/lib/freecad", ]: if os.path.exists(_PATH): return _PATH @@ -94,5 +95,11 @@ def _fc_path(): if os.path.exists(_PATH): return _PATH -#Make sure that the correct FreeCAD path shows up in Python's system path -sys.path.insert(0, _fc_path()) + +try: + import FreeCAD +except ImportError: + #Make sure that the correct FreeCAD path shows up in Python's system path + path = _fc_path() + if path: sys.path.insert(0, _fc_path()) + else: raise ImportError('cadquery was unable to determine freecads library path') From 205a6ef01ac7737d55f550947c9421df69904cb6 Mon Sep 17 00:00:00 2001 From: moeb Date: Fri, 15 May 2015 13:12:40 +0200 Subject: [PATCH 2/3] a little improvement to https://github.com/dcowden/cadquery/pull/87 --- cadquery/freecad_impl/__init__.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/cadquery/freecad_impl/__init__.py b/cadquery/freecad_impl/__init__.py index 46d6c64..338bcea 100644 --- a/cadquery/freecad_impl/__init__.py +++ b/cadquery/freecad_impl/__init__.py @@ -96,10 +96,17 @@ def _fc_path(): return _PATH + +#Make sure that the correct FreeCAD path shows up in Python's system path +no_library_path = ImportError('cadquery was unable to determine freecads library path') try: import FreeCAD except ImportError: - #Make sure that the correct FreeCAD path shows up in Python's system path path = _fc_path() - if path: sys.path.insert(0, _fc_path()) - else: raise ImportError('cadquery was unable to determine freecads library path') + if path: + sys.path.insert(0, _fc_path()) + try: + import FreeCAD + except ImportError: + raise no_library_path + else: raise no_library_path From a6a9bc66141b7892e0e156d305d8985402c653b4 Mon Sep 17 00:00:00 2001 From: moeb Date: Fri, 15 May 2015 13:26:34 +0200 Subject: [PATCH 3/3] another improvement to https://github.com/dcowden/cadquery/pull/87 wich removes multiple calls to _fc_path --- cadquery/freecad_impl/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cadquery/freecad_impl/__init__.py b/cadquery/freecad_impl/__init__.py index 338bcea..3e041e3 100644 --- a/cadquery/freecad_impl/__init__.py +++ b/cadquery/freecad_impl/__init__.py @@ -104,7 +104,7 @@ try: except ImportError: path = _fc_path() if path: - sys.path.insert(0, _fc_path()) + sys.path.insert(0, path) try: import FreeCAD except ImportError: