#!/usr/bin/python
#PBR Generated from u'wsgi_scripts'

import threading

from cinder.wsgi.wsgi import initialize_application

if __name__ == "__main__":
    import argparse
    import socket
    import wsgiref.simple_server as wss

    my_ip = socket.gethostbyname(socket.gethostname())
    parser = argparse.ArgumentParser(
        description=initialize_application.__doc__,
        formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    parser.add_argument('--port', '-p', type=int, default=8000,
                        help='TCP port to listen on')
    args = parser.parse_args()
    server = wss.make_server('', args.port, initialize_application())

    print("*" * 80)
    print("STARTING test server cinder.wsgi.wsgi.initialize_application")
    url = "http://%s:%d/" % (my_ip, server.server_port)
    print("Available at %s" % url)
    print("DANGER! For testing only, do not use in production")
    print("*" * 80)

    server.serve_forever()
else:
    application = None
    app_lock = threading.Lock()

    with app_lock:
        if application is None:
            application = initialize_application()

