示例#1
0
 def _validate_topic_or_service_name(self, topic_or_service_name, *, is_service=False):
     name = self.get_name()
     namespace = self.get_namespace()
     validate_node_name(name)
     validate_namespace(namespace)
     validate_topic_name(topic_or_service_name, is_service=is_service)
     expanded_topic_or_service_name = expand_topic_name(topic_or_service_name, name, namespace)
     validate_full_topic_name(expanded_topic_or_service_name, is_service=is_service)
示例#2
0
 def test_validate_topic_name_failures_service(self):
     # service name may not contain '?'
     with self.assertRaisesRegex(InvalidServiceNameException,
                                 'must not contain characters'):
         validate_topic_name('/invalid_service?', is_service=True)
     # service name must start with number in any token
     with self.assertRaisesRegex(InvalidServiceNameException,
                                 'must not start with a number'):
         validate_topic_name('invalid/42service', is_service=True)
示例#3
0
 def test_validate_topic_name_failures(self):
     # topic name may not contain '?'
     with self.assertRaisesRegex(InvalidTopicNameException,
                                 'must not contain characters'):
         validate_topic_name('/invalid_topic?')
     # topic name must start with number in any token
     with self.assertRaisesRegex(InvalidTopicNameException,
                                 'must not start with a number'):
         validate_topic_name('invalid/42topic')
示例#4
0
 def test_validate_topic_name(self):
     tests = [
         'chatter',
         '{node}/chatter',
         '~/chatter',
     ]
     for topic in tests:
         # Will raise if invalid
         validate_topic_name(topic)
示例#5
0
文件: node.py 项目: hfz-Nick/ROS
 def _count_publishers_or_subscribers(self, topic_name, func):
     fq_topic_name = expand_topic_name(topic_name, self.get_name(),
                                       self.get_namespace())
     validate_topic_name(fq_topic_name)
     return func(self.handle, fq_topic_name)
示例#6
0
def TopicNameArg(value):
    try:
        validate_topic_name(value)
    except InvalidTopicNameException as e:
        raise argparse.ArgumentTypeError(str(e))
    return value