def main()

in tts/tts/services/synthesizer.py [0:0]


def main():
    usage = '''usage: %prog [options]
    '''

    parser = OptionParser(usage)

    parser.add_option("-n", "--node-name", dest="node_name", default='synthesizer_node',
                      help="name of the ROS node",
                      metavar="NODE_NAME")
    parser.add_option("-s", "--service-name", dest="service_name", default='synthesizer',
                      help="name of the ROS service",
                      metavar="SERVICE_NAME")
    parser.add_option("-e", "--engine", dest="engine", default='POLLY_SERVICE',
                      help="name of the synthesis engine",
                      metavar="ENGINE")
    parser.add_option("-p", "--engine-service-name", dest="engine_service_name", default='polly',
                      help="name of the synthesis engine service",
                      metavar="ENGINE_SERVICE_NAME")

    (options, args) = parser.parse_args()

    node_name = options.node_name
    service_name = options.service_name
    engine = options.engine
    engine_service_name = options.engine_service_name

    rclpy.init()

    if engine.endswith('_SERVICE'):
        node = SynthesizerNode(node_name=node_name, service_name=service_name, engine=engine,
                               engine_service_name=engine_service_name)
    else:
        node = SynthesizerNode(node_name=node_name, service_name=service_name, engine=engine)

    try:
        rclpy.spin(node)
    except KeyboardInterrupt:
        print('Shutting down synthesizer server')
    except BaseException:
        print('Exception in synthesizer server:', file=sys.stderr)
        raise
    finally:
        node.destroy_node()
        rclpy.shutdown()