From d878afeeff0d53f55b4facfd1a5119f5de69978a Mon Sep 17 00:00:00 2001 From: Samuel Sadok Date: Mon, 14 May 2018 13:14:30 -0700 Subject: [PATCH] fix setuptools to package fibre into odrive package --- tools/odrive/__init__.py | 6 ++++++ tools/odrivetool | 5 +++-- tools/setup.py | 16 ++++++++++++++-- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/tools/odrive/__init__.py b/tools/odrive/__init__.py index c95f471a..6b373112 100644 --- a/tools/odrive/__init__.py +++ b/tools/odrive/__init__.py @@ -1,4 +1,10 @@ +import os +import sys +sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname( + os.path.dirname(os.path.realpath(__file__)))), + "Firmware", "fibre", "python")) + import fibre find_any = fibre.find_any find_all = fibre.find_all diff --git a/tools/odrivetool b/tools/odrivetool index fa81f4f8..7fd86650 100755 --- a/tools/odrivetool +++ b/tools/odrivetool @@ -8,8 +8,9 @@ import sys import os import argparse -sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.realpath(__file__))) + "/Firmware/fibre/python") - +sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname( + os.path.realpath(__file__))), + "Firmware", "fibre", "python")) import fibre.discovery from fibre import Logger, Event import odrive diff --git a/tools/setup.py b/tools/setup.py index 3cdb67d6..126f09b6 100644 --- a/tools/setup.py +++ b/tools/setup.py @@ -57,17 +57,28 @@ if creating_package: version_file_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'odrive', 'version.txt') with open(version_file_path, mode='w') as version_file: version_file.write(version) + + # Temporarily link fibre into the python tools directory + # TODO: distribute a fibre package separately + fibre_src = os.path.join(os.path.dirname(os.path.dirname( + os.path.realpath(__file__))), + "Firmware", "fibre", "python", "fibre") + fibre_link = os.path.join(os.path.dirname( + os.path.realpath(__file__)), "fibre") + if not os.path.exists(fibre_link): + os.symlink(fibre_src, fibre_link, True) # TODO: find a better place for this if not creating_package: import platform if platform.system() == 'Linux': import odrive.utils - odrive.utils.setup_udev_rules(odrive.utils.Logger()) + from fibre.utils import Logger + odrive.utils.setup_udev_rules(Logger()) setup( name = 'odrive', - packages = ['odrive', 'odrive.dfuse'], # this must be the same as the name above + packages = ['odrive', 'odrive.dfuse', 'fibre'], scripts = ['odrivetool', 'odrivetool.bat', 'odrive_demo.py'], version = version, description = 'Control utilities for the ODrive high performance motor controller', @@ -93,3 +104,4 @@ setup( # clean up if creating_package: os.remove(version_file_path) + os.remove(fibre_link)