def get_node_names(*, node, include_hidden_nodes=False): node_names = get_all_node_names(node=node, include_hidden_nodes=include_hidden_nodes) service_names_and_types = get_service_names_and_types(node=node) return [ n for n in node_names if _has_lifecycle(n, service_names_and_types) ]
def get_services_for_type(service_type, services_glob, include_hidden=False): """ Returns a list of services as specific service type """ # Filter the list of services by whether they are public before returning. services_names_and_types = get_service_names_and_types( node=_node, include_hidden_services=include_hidden) # service[0] has the topic name and service[1] has the type wrapped in a list. services_for_type = [ service[0] for service in services_names_and_types if service[1][0] == service_type ] return filter_globs(services_glob, services_for_type)
def main(self, *, args): with NodeStrategy(args) as node: service_names_and_types = get_service_names_and_types( node=node, include_hidden_services=args.include_hidden_services) for (service_name, service_types) in service_names_and_types: if args.service_name == service_name: for service_type in service_types: print(service_type) return 0 return 1
def main(self, *, args): with NodeStrategy(args) as node: service_names_and_types = get_service_names_and_types( node=node, include_hidden_services=args.include_hidden_services) if args.count_services: print(len(service_names_and_types)) elif service_names_and_types: for (service_name, service_types) in service_names_and_types: msg = '{service_name}' service_types_formatted = ', '.join(service_types) if args.show_types: msg += ' [{service_types_formatted}]' print(msg.format_map(locals()))
def main(self, *, args): with NodeStrategy(args) as node: service_names_and_types = get_service_names_and_types( node=node, include_hidden_services=args.include_hidden_services) filtered_services = [] for (service_name, service_type) in service_names_and_types: if args.service_type in service_type: filtered_services.append(service_name) if args.count_services: print(len(filtered_services)) else: for filtered_service in filtered_services: print(filtered_service)
def ros2service(self, domain_id): print('Exploring ROS_DOMAIN_ID: ' + str(domain_id) + ' for services') os.environ['ROS_DOMAIN_ID'] = str(domain_id) with NodeStrategy('-t') as node: service_names_and_types = get_service_names_and_types(node=node) output_service = {} if service_names_and_types: for (service_name, service_types) in service_names_and_types: output_service[service_name] = { 'domain': domain_id, 'type': str(service_types).replace('[', '').replace(']', '') } self.processed_services.append(output_service)