changed freecad libs searching to hard-coded per platform

This commit is contained in:
Dawit Abate 2019-07-04 15:16:03 +03:00
parent d8aa4eb76e
commit 251d79e9f8

View file

@ -1,32 +1,23 @@
#!/usr/bin/env python3
import os
import platform
# check os types to search for freecad libraries
if 'posix' in os.name:
# TODO: Test the result of os.name in different systems
_so = os.popen('which freecad')
FREECAD_PATH = _so.readline().replace('\n', '')
if not FREECAD_PATH:
_so.close()
_so = os.popen('which FreeCAD')
FREECAD_PATH = _so.readline().replace('\n', '')
_so.close()
FREECAD_PATH = FREECAD_PATH.replace('bin', 'lib')
if not FREECAD_PATH:
raise ModuleNotFoundError('FreeCAD not installed.')
elif 'nt' in os.name:
if 'linux' in platform.system().lower():
if 'ubuntu' in platform.dist().lower():
FREECAD_PATH = '/usr/lib/freecad'
elif 'fedora' in platform.dist().lower():
FREECAD_PATH = '/usr/lib/freecad'
elif 'nt' in platform.dist().lower():
# TODO: Find freecad libs on windows
pass
else:
raise Exception("Platform not supported")
# Extend sys.path to include freecad python libraries (including workbenches)
os.sys.path.extend(d.path for d in os.scandir(FREECAD_PATH))
from .exporter import export
from .model import *
from freecad_to_gazebo.mesh_exporter import export
from freecad_to_gazebo.model import *
from freecad_to_gazebo.freecad_exporter import *