Skip to content

Commit 4d33d1e

Browse files
committed
Resolved GH action problem
data files missing from setup.py
1 parent bcd2b04 commit 4d33d1e

File tree

3 files changed

+17
-53
lines changed

3 files changed

+17
-53
lines changed

.github/workflows/pythonpackage.yml

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,8 @@ jobs:
1313
runs-on: ${{ matrix.os }}
1414
strategy:
1515
matrix:
16-
#os: [windows-latest, ubuntu-latest, macos-latest]
17-
#python-version: [3.6, 3.7, 3.8]
18-
os: [ubuntu-latest]
19-
python-version: [3.8]
20-
16+
os: [windows-latest, ubuntu-latest, macos-latest]
17+
python-version: [3.6, 3.7, 3.8]
2118
steps:
2219
- uses: actions/checkout@v2
2320
- name: Set up Python ${{ matrix.python-version }}
@@ -31,14 +28,6 @@ jobs:
3128
run: |
3229
pip install .[dev,collision,vpython]
3330
pip install pytest-timeout
34-
echo "========================"
35-
pwd -L
36-
pwd -P
37-
printenv
38-
echo "============ ls -R /opt ============"
39-
ls -R /opt/hostedtoolcache/Python/3.8.6/x64/lib/python3.8/site-packages/roboticstoolbox
40-
echo "============ ls -R . ============"
41-
ls -R .
4231
pytest --timeout=30 --timeout_method thread -s
4332
codecov:
4433
# If all tests pass:

roboticstoolbox/tools/data.py

Lines changed: 5 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from pathlib import Path
22
import roboticstoolbox.tools.trajectory as tt
33
import sys
4-
import importlib
54

65
def loadmat(filename):
76
"""
@@ -50,7 +49,6 @@ def loaddata(filename, handler, **kwargs):
5049
:seealso: :func:`path_to_datafile`
5150
"""
5251
path = path_to_datafile(filename)
53-
print("loaddata: ", path)
5452
return handler(path, **kwargs)
5553

5654
def path_to_datafile(filename):
@@ -77,56 +75,28 @@ def path_to_datafile(filename):
7775
loadmat('~/data/foo.dat') # read ~/data/foo.dat
7876
"""
7977

80-
8178
filename = Path(filename)
8279

8380
if filename.parent == Path():
8481
# just a filename, no path, assume it is in roboticstoolbox/data
85-
# import inspect
86-
# path = Path(inspect.getframeinfo(inspect.currentframe()).filename)
87-
88-
class C:
89-
def __init__(self):
90-
self.classpath = sys.modules[self.__module__].__file__
9182

92-
a = C() # instantiate
93-
p = Path(a.classpath).resolve().parent.parent / 'data' / filename
94-
print(f"p={p}")
83+
p = Path(__file__).resolve().parent.parent / 'data' / filename
9584
if p.exists():
96-
print(f"returning")
9785
return str(p.resolve())
9886

9987
p = filename.expanduser()
100-
print(f"continuing, filename={filename}, p={p}")
10188
p = p.resolve()
102-
print(f"after resolve p={p}")
10389
if not p.exists():
104-
print(f"File '{p}' does not exist")
10590
raise FileNotFoundError(f"File '{p}' does not exist")
106-
print(f"returning p={p}")
10791
return str(p)
10892

10993
if __name__ == "__main__":
11094

11195
a = loadmat("map1.mat")
11296
print(a)
113-
# a = loadmat("roboticstoolbox/data/map1.mat")
114-
# print(a)
115-
# a = loadmat("roboticstoolbox/data/../data/map1.mat")
116-
# print(a)
97+
a = loadmat("roboticstoolbox/data/map1.mat")
98+
print(a)
99+
a = loadmat("roboticstoolbox/data/../data/map1.mat")
100+
print(a)
117101
a = loadmat("~/code/robotics-toolbox-python/roboticstoolbox/data/map1.mat")
118102
print(a)
119-
120-
121-
# print("***** ", tt.__file__)
122-
# print("***** ", loadmat.__module__)
123-
# import inspect, os
124-
# filename = inspect.getframeinfo(inspect.currentframe()).filename
125-
# path = os.path.dirname(os.path.abspath(filename))
126-
# print("**1 ", path)
127-
# path = os.path.dirname(os.path.abspath(__file__))
128-
# print("**2 ", path)
129-
# # classpath = sys.modules[self.__module__].__file__
130-
# # print("***** ", classpath)
131-
# print("path_to_data: ", filename, __file__)
132-
# filename = Path(filename)

setup.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,13 @@
4141
with open(os.path.join(here, 'README.md'), encoding='utf-8') as f:
4242
long_description = f.read()
4343

44+
# list all data folders here, to ensure they get packaged
45+
46+
data_folders = [
47+
'roboticstoolbox/models/URDF/xacro',
48+
'roboticstoolbox/models/DH/meshes',
49+
'roboticstoolbox/data',
50+
]
4451

4552
def package_files(directory):
4653
paths = []
@@ -49,11 +56,9 @@ def package_files(directory):
4956
paths.append(os.path.join('..', pathhere, filename))
5057
return paths
5158

52-
53-
extra_files1 = package_files('roboticstoolbox/models/URDF/xacro')
54-
extra_files2 = package_files('roboticstoolbox/data')
55-
56-
extra_files = extra_files1 + extra_files2
59+
extra_files = []
60+
for data_folder in data_folders:
61+
extra_files += package_files(data_folder)
5762

5863
frne = Extension(
5964
'frne',

0 commit comments

Comments
 (0)