Source code for criutils.parameter

#!/usr/bin/env python
import rospy
import logging
import rostopic
from .logger import initialize_logging


[docs]def read_parameter(name, default): """ Get a parameter from the ROS parameter server. If it's not found, a warning is printed. Parameters ---------- name: string Parameter name default: Object Default value for the parameter. The type of the default object defines the type of the parameter Returns ---------- value: Object If found, the read parameter. Otherwise, `default` is returned. """ # Check roscore is running try: rostopic.get_topic_class('/rosout') rosmaster_running = True except (rostopic.ROSTopicIOException, ValueError): rosmaster_running = False # Act accordingly value = default if rosmaster_running: if not rospy.has_param(name): rospy.logwarn('Parameter [%s] not found, using default: %s' % (name, default)) value = rospy.get_param(name, default) else: logger = logging.getLogger('read_parameter') initialize_logging(format_level=logging.INFO) logger.warn('roscore not found, parameter [%s] set to default: %s' % (name, default)) return value