Skip to content

Commit bc14b54

Browse files
committed
fix template path in message generator
1 parent 05ec145 commit bc14b54

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

ros2model/api/model_generator/message_generator.py

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,36 @@
1717
from pathlib import Path
1818
from ros2model.core.generator.generator_core import GeneratorCore
1919
import ros2model.core.metamodels.metamodel_ros as ROSModel
20-
import logging
21-
from devtools import pprint
2220

23-
Template_Folder = Path(__file__).parent.resolve() / "templates"
21+
Template_Folder = Path(__file__).parent.parent.parent.parent.resolve() / "templates"
2422
Template = Path(Template_Folder / "message.ros.j2")
2523

24+
try:
25+
from ament_index_python import get_package_share_directory
26+
27+
Template_Folder_ROS = Path(get_package_share_directory("ros2model") + "/templates")
28+
Template_ROS = Path(Template_Folder_ROS / "component.ros2.j2")
29+
except ImportError:
30+
Template_ROS = None
31+
2632

2733
class MessageGenerator(GeneratorCore):
2834
def __init__(self, template_path=None) -> None:
2935
if template_path != None:
3036
self.template_path = Path(template_path).resolve()
31-
else:
37+
elif Template_ROS != None and Template_ROS.is_file():
3238
self.template_path = Template
39+
elif Template.is_file():
40+
self.template_path = Template
41+
else:
42+
if Template_ROS != None:
43+
raise FileNotFoundError(
44+
f"Can't find template either from {Template.absolute().as_posix()} or {Template_ROS.absolute().as_posix()}"
45+
)
46+
else:
47+
raise FileNotFoundError(
48+
f"Can't find template either from {Template.absolute().as_posix()}"
49+
)
3350
super().__init__(self.template_path, ".ros")
3451

3552
def generate_a_package(self, rosmodel: ROSModel.Package, output_dir: str):

0 commit comments

Comments
 (0)