def run(wsgi_app, global_conf,
        host='0.0.0.0', port='8080',
        multiplayer=False,
        testing=False):

    port = int(port)
    multiplayer = asbool(multiplayer)
    testing = asbool(testing)

    wsgi_app = DevserverWSGIContainer(wsgi_app)

    handlers = []

    if multiplayer:
        handlers.append(('/multiplayer/(.*)/(.*)', MultiplayerHandler))
        handlers.append(('/api/v1/multiplayer/status', MultiplayerStatusHandler))
        handlers.append(('/api/v1/multiplayer/status/session/(.*)', SessionStatusHandler))

    if testing:
        raw_response_dir = path_join(dirname(__file__), 'raw-response')
        handlers.append(('/raw-response/(.*)',
                         ResponseFromFileHandler, dict(path=raw_response_dir)))

    handlers.append(('/local/v1/save/([^/]+)/(.*)', SaveFileHandler))

    handlers.append(('.*', FallbackHandler, dict(fallback=wsgi_app)))

    tornado_app = DevserverApplication(handlers, transforms=[])
    handlers = None

    server = HTTPServer(tornado_app)
    server.listen(port, host)

    print 'Serving on %s:%u view at http://127.0.0.1:%u' + (host, port, port)
    IOLoop.instance().start()
dataset/ETHPy150Open turbulenz/turbulenz_local/turbulenz_local/paste_factory.py/run/operator `%` -> `+`