22# This software may be modified and distributed under the terms of the
33# GNU Lesser General Public License v2.1 or any later version.
44
5- import os
65import enum
6+ import os
77import tempfile
88from pathlib import Path
99from typing import IO , List , Union
@@ -17,7 +17,7 @@ def get_models_path() -> str:
1717 A string containing the path of the models.
1818 """
1919 models_dir = os .path .join (os .path .dirname (__file__ ))
20- return models_dir + '/'
20+ return models_dir + "/"
2121
2222
2323def get_robot_names () -> List [str ]:
@@ -114,9 +114,9 @@ def setup_environment() -> None:
114114 raise NotADirectoryError (f"Failed to find path '{ model_path } '" )
115115
116116 if "IGN_GAZEBO_RESOURCE_PATH" in os .environ :
117- os .environ ["IGN_GAZEBO_RESOURCE_PATH" ] += f' :{ model_path } '
117+ os .environ ["IGN_GAZEBO_RESOURCE_PATH" ] += f" :{ model_path } "
118118 else :
119- os .environ ["IGN_GAZEBO_RESOURCE_PATH" ] = f' { model_path } '
119+ os .environ ["IGN_GAZEBO_RESOURCE_PATH" ] = f" { model_path } "
120120
121121
122122class ResourceType (enum .Enum ):
@@ -130,9 +130,9 @@ class ResourceType(enum.Enum):
130130 URDF_STRING = enum .auto ()
131131
132132
133- def get_model_resource (robot_name : str ,
134- resource_type : ResourceType = ResourceType .URDF_PATH ) \
135- -> Union [str , IO ]:
133+ def get_model_resource (
134+ robot_name : str , resource_type : ResourceType = ResourceType .URDF_PATH
135+ ) -> Union [str , IO ]:
136136 """
137137 Return the resource of the selected robot.
138138
@@ -167,38 +167,41 @@ def get_model_resource(robot_name: str,
167167 with open (file = stored_model , mode = "r+" ) as f :
168168 return f .read ()
169169
170- if resource_type in {ResourceType .SDF_FILE ,
171- ResourceType .SDF_PATH ,
172- ResourceType .SDF_STRING }:
170+ if resource_type in {
171+ ResourceType .SDF_FILE ,
172+ ResourceType .SDF_PATH ,
173+ ResourceType .SDF_STRING ,
174+ }:
173175 try :
174176 from scenario import gazebo as scenario_gazebo
175177 except ImportError :
176178 msg = "URDF to SDF conversion requires the 'scenario' package"
177179 raise RuntimeError (msg )
178180
179181 if resource_type is ResourceType .SDF_FILE :
180- file_name = Path (stored_model ).with_suffix ('' ).name
181- sdf_file = tempfile .NamedTemporaryFile (mode = "w+" ,
182- prefix = file_name ,
183- suffix = ".sdf" )
184- sdf_string = get_model_resource (robot_name = robot_name ,
185- resource_type = ResourceType .SDF_STRING )
182+ file_name = Path (stored_model ).with_suffix ("" ).name
183+ sdf_file = tempfile .NamedTemporaryFile (
184+ mode = "w+" , prefix = file_name , suffix = ".sdf"
185+ )
186+ sdf_string = get_model_resource (
187+ robot_name = robot_name , resource_type = ResourceType .SDF_STRING
188+ )
186189 sdf_file .write (sdf_string )
187190 return sdf_file
188191
189192 if resource_type is ResourceType .SDF_PATH :
190- file_name = Path (stored_model ).with_suffix ('' ).name
191- fd , sdf_path = tempfile .mkstemp (prefix = file_name ,
192- suffix = ".sdf" ,
193- text = True )
194- sdf_string = get_model_resource (robot_name = robot_name ,
195- resource_type = ResourceType .SDF_STRING )
193+ file_name = Path (stored_model ).with_suffix ("" ).name
194+ fd , sdf_path = tempfile .mkstemp (prefix = file_name , suffix = ".sdf" , text = True )
195+ sdf_string = get_model_resource (
196+ robot_name = robot_name , resource_type = ResourceType .SDF_STRING
197+ )
196198 with open (sdf_path , "w" ) as f :
197199 f .write (sdf_string )
198200 return sdf_path
199201
200202 if resource_type is ResourceType .SDF_STRING :
201203 from scenario import gazebo as scenario_gazebo
204+
202205 return scenario_gazebo .urdffile_to_sdfstring (urdf_file = stored_model )
203206
204207 raise ValueError (resource_type )
@@ -208,9 +211,11 @@ def get_model_resource(robot_name: str,
208211 if resource_type is ResourceType .SDF_PATH :
209212 return stored_model
210213
211- if resource_type in {ResourceType .URDF_FILE ,
212- ResourceType .URDF_PATH ,
213- ResourceType .URDF_STRING }:
214+ if resource_type in {
215+ ResourceType .URDF_FILE ,
216+ ResourceType .URDF_PATH ,
217+ ResourceType .URDF_STRING ,
218+ }:
214219 raise ValueError ("SDF to URDF conversion is not supported" )
215220
216221 if resource_type is ResourceType .SDF_STRING :
0 commit comments