当前位置: 首页>>代码示例>>Python>>正文


Python wsgi.loadapp函数代码示例

本文整理汇总了Python中swift.common.wsgi.loadapp函数的典型用法代码示例。如果您正苦于以下问题:Python loadapp函数的具体用法?Python loadapp怎么用?Python loadapp使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了loadapp函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_load_app

    def test_load_app(self):
        config = """
        [DEFAULT]
        swift_dir = TEMPDIR

        [pipeline:main]
        pipeline = healthcheck proxy-server

        [app:proxy-server]
        use = egg:swift#proxy
        conn_timeout = 0.2

        [filter:catch_errors]
        use = egg:swift#catch_errors

        [filter:healthcheck]
        use = egg:swift#healthcheck
        """

        def modify_func(app, pipe):
            new = pipe.create_filter('catch_errors')
            pipe.insert_filter(new)

        contents = dedent(config)
        with temptree(['proxy-server.conf']) as t:
            conf_file = os.path.join(t, 'proxy-server.conf')
            with open(conf_file, 'w') as f:
                f.write(contents.replace('TEMPDIR', t))
            _fake_rings(t)
            with mock.patch(
                    'swift.proxy.server.Application.modify_wsgi_pipeline',
                    modify_func):
                app = wsgi.loadapp(conf_file, global_conf={})
            exp = swift.common.middleware.catch_errors.CatchErrorMiddleware
            self.assertTrue(isinstance(app, exp), app)
            exp = swift.common.middleware.healthcheck.HealthCheckMiddleware
            self.assertTrue(isinstance(app.app, exp), app.app)
            exp = swift.proxy.server.Application
            self.assertTrue(isinstance(app.app.app, exp), app.app.app)

            # make sure you can turn off the pipeline modification if you want
            def blow_up(*_, **__):
                raise self.fail("needs more struts")

            with mock.patch(
                    'swift.proxy.server.Application.modify_wsgi_pipeline',
                    blow_up):
                app = wsgi.loadapp(conf_file, global_conf={},
                                   allow_modify_pipeline=False)

            # the pipeline was untouched
            exp = swift.common.middleware.healthcheck.HealthCheckMiddleware
            self.assertTrue(isinstance(app, exp), app)
            exp = swift.proxy.server.Application
            self.assertTrue(isinstance(app.app, exp), app.app)
开发者ID:heemanshu,项目名称:swift_juno,代码行数:55,代码来源:test_wsgi.py

示例2: test_proxy_unmodified_wsgi_pipeline

    def test_proxy_unmodified_wsgi_pipeline(self):
        # Make sure things are sane even when we modify nothing
        config = """
        [DEFAULT]
        swift_dir = TEMPDIR

        [pipeline:main]
        pipeline = catch_errors gatekeeper proxy-server

        [app:proxy-server]
        use = egg:swift#proxy
        conn_timeout = 0.2

        [filter:catch_errors]
        use = egg:swift#catch_errors

        [filter:gatekeeper]
        use = egg:swift#gatekeeper
        """

        contents = dedent(config)
        with temptree(['proxy-server.conf']) as t:
            conf_file = os.path.join(t, 'proxy-server.conf')
            with open(conf_file, 'w') as f:
                f.write(contents.replace('TEMPDIR', t))
            _fake_rings(t)
            app = wsgi.loadapp(conf_file, global_conf={})

        self.assertEqual(self.pipeline_modules(app),
                         ['swift.common.middleware.catch_errors',
                         'swift.common.middleware.gatekeeper',
                          'swift.proxy.server'])
开发者ID:Taejun,项目名称:swift,代码行数:32,代码来源:test_wsgi.py

示例3: test_proxy_modify_wsgi_pipeline

    def test_proxy_modify_wsgi_pipeline(self):
        config = """
        [DEFAULT]
        swift_dir = TEMPDIR

        [pipeline:main]
        pipeline = healthcheck proxy-server

        [app:proxy-server]
        use = egg:swift#proxy
        conn_timeout = 0.2

        [filter:healthcheck]
        use = egg:swift#healthcheck
        """

        contents = dedent(config)
        with temptree(['proxy-server.conf']) as t:
            conf_file = os.path.join(t, 'proxy-server.conf')
            with open(conf_file, 'w') as f:
                f.write(contents.replace('TEMPDIR', t))
            _fake_rings(t)
            app = wsgi.loadapp(conf_file, global_conf={})

        self.assertEqual(self.pipeline_modules(app),
                         ['swift.common.middleware.catch_errors',
                         'swift.common.middleware.gatekeeper',
                         'swift.common.middleware.healthcheck',
                         'swift.proxy.server'])
开发者ID:Taejun,项目名称:swift,代码行数:29,代码来源:test_wsgi.py

示例4: test_loadapp_from_string

 def test_loadapp_from_string(self):
     conf_body = """
     [app:main]
     use = egg:swift#object
     """
     app = wsgi.loadapp(wsgi.ConfigString(conf_body))
     self.assertTrue(isinstance(app, obj_server.ObjectController))
开发者ID:kun--hust,项目名称:sdscloud,代码行数:7,代码来源:test_wsgi.py

示例5: _proxy_modify_wsgi_pipeline

    def _proxy_modify_wsgi_pipeline(self, pipe):
        config = """
        [DEFAULT]
        swift_dir = TEMPDIR

        [pipeline:main]
        pipeline = %s

        [app:proxy-server]
        use = egg:swift#proxy
        conn_timeout = 0.2

        [filter:healthcheck]
        use = egg:swift#healthcheck

        [filter:catch_errors]
        use = egg:swift#catch_errors

        [filter:gatekeeper]
        use = egg:swift#gatekeeper
        """
        config = config % (pipe,)
        contents = dedent(config)
        with temptree(['proxy-server.conf']) as t:
            conf_file = os.path.join(t, 'proxy-server.conf')
            with open(conf_file, 'w') as f:
                f.write(contents.replace('TEMPDIR', t))
            _fake_rings(t)
            app = wsgi.loadapp(conf_file, global_conf={})
        return app
开发者ID:Taejun,项目名称:swift,代码行数:30,代码来源:test_wsgi.py

示例6: __init__

 def __init__(self, conf_path, user_agent, request_tries,
              allow_modify_pipeline=False):
     if request_tries < 1:
         raise ValueError('request_tries must be positive')
     self.app = loadapp(conf_path,
                        allow_modify_pipeline=allow_modify_pipeline)
     self.user_agent = user_agent
     self.request_tries = request_tries
开发者ID:jgmerritt,项目名称:swift,代码行数:8,代码来源:internal_client.py

示例7: __init__

 def __init__(self, conf):
     self.conf = conf
     self.logger = get_logger(conf, log_route='swift3-object-expirer')
     self.interval = int(conf.get('interval') or 300)
     conf_path = conf.get('__file__') or \
         '/etc/swift/swift3-object-expirer.conf'
     self.swift = wsgi.loadapp(conf_path, conf)
     self.report_interval = int(conf.get('report_interval') or 300)
     self.report_first_time = self.report_last_time = time()
     self.report_objects = 0
开发者ID:ichi-shin,项目名称:swift3,代码行数:10,代码来源:expirer.py

示例8: __init__

 def __init__(self, conf, cutoff=None):
     super(LogDelivery, self).__init__(conf)
     self.logger = utils.get_logger(conf, log_route='log-delivery')
     self.log_dir = conf.get('log_dir', '/var/log/swift/')
     conf_path = conf.get('__file__') or '/etc/swift/proxy-server.conf'
     self.swift = wsgi.loadapp(conf_path, conf)
     self.swift_user = conf.get('log_user', '.log_delivery')
     self.interval = int(conf.get('interval', '3600'))
     self.new_log_cutoff = int(cutoff or conf.get('new_log_cutoff', '7200'))
     self.owners = {}
开发者ID:ichi-shin,项目名称:swift3,代码行数:10,代码来源:log_delivery.py

示例9: test_proxy_modify_wsgi_pipeline_ordering

    def test_proxy_modify_wsgi_pipeline_ordering(self):
        config = """
        [DEFAULT]
        swift_dir = TEMPDIR

        [pipeline:main]
        pipeline = healthcheck proxy-logging bulk tempurl proxy-server

        [app:proxy-server]
        use = egg:swift#proxy
        conn_timeout = 0.2

        [filter:healthcheck]
        use = egg:swift#healthcheck

        [filter:proxy-logging]
        use = egg:swift#proxy_logging

        [filter:bulk]
        use = egg:swift#bulk

        [filter:tempurl]
        use = egg:swift#tempurl
        """

        new_req_filters = [
            # not in pipeline, no afters
            {"name": "catch_errors"},
            # already in pipeline
            {"name": "proxy_logging", "after_fn": lambda _: ["catch_errors"]},
            # not in pipeline, comes after more than one thing
            {"name": "container_quotas", "after_fn": lambda _: ["catch_errors", "bulk"]},
        ]

        contents = dedent(config)
        with temptree(["proxy-server.conf"]) as t:
            conf_file = os.path.join(t, "proxy-server.conf")
            with open(conf_file, "w") as f:
                f.write(contents.replace("TEMPDIR", t))
            _fake_rings(t)
            with mock.patch.object(swift.proxy.server, "required_filters", new_req_filters):
                app = wsgi.loadapp(conf_file, global_conf={})

        self.assertEqual(
            self.pipeline_modules(app),
            [
                "swift.common.middleware.catch_errors",
                "swift.common.middleware.healthcheck",
                "swift.common.middleware.proxy_logging",
                "swift.common.middleware.bulk",
                "swift.common.middleware.container_quotas",
                "swift.common.middleware.tempurl",
                "swift.proxy.server",
            ],
        )
开发者ID:benjkeller,项目名称:swift,代码行数:55,代码来源:test_wsgi.py

示例10: test_loadapp_from_file

 def test_loadapp_from_file(self, tempdir):
     conf_path = os.path.join(tempdir, 'object-server.conf')
     conf_body = """
     [app:main]
     use = egg:swift#object
     """
     contents = dedent(conf_body)
     with open(conf_path, 'w') as f:
         f.write(contents)
     app = wsgi.loadapp(conf_path)
     self.assertTrue(isinstance(app, obj_server.ObjectController))
开发者ID:kun--hust,项目名称:sdscloud,代码行数:11,代码来源:test_wsgi.py

示例11: test_proxy_modify_wsgi_pipeline_ordering

    def test_proxy_modify_wsgi_pipeline_ordering(self):
        config = """
        [DEFAULT]
        swift_dir = TEMPDIR

        [pipeline:main]
        pipeline = healthcheck proxy-logging bulk tempurl proxy-server

        [app:proxy-server]
        use = egg:swift#proxy
        conn_timeout = 0.2

        [filter:healthcheck]
        use = egg:swift#healthcheck

        [filter:proxy-logging]
        use = egg:swift#proxy_logging

        [filter:bulk]
        use = egg:swift#bulk

        [filter:tempurl]
        use = egg:swift#tempurl
        """

        new_req_filters = [
            # not in pipeline, no afters
            {'name': 'catch_errors'},
            # already in pipeline
            {'name': 'proxy_logging',
             'after': ['catch_errors']},
            # not in pipeline, comes after more than one thing
            {'name': 'container_quotas',
             'after': ['catch_errors', 'bulk']}]

        contents = dedent(config)
        with temptree(['proxy-server.conf']) as t:
            conf_file = os.path.join(t, 'proxy-server.conf')
            with open(conf_file, 'w') as f:
                f.write(contents.replace('TEMPDIR', t))
            _fake_rings(t)
            with mock.patch.object(swift.proxy.server, 'required_filters',
                                   new_req_filters):
                app = wsgi.loadapp(conf_file, global_conf={})

        self.assertEqual(self.pipeline_modules(app), [
            'swift.common.middleware.catch_errors',
            'swift.common.middleware.healthcheck',
            'swift.common.middleware.proxy_logging',
            'swift.common.middleware.bulk',
            'swift.common.middleware.container_quotas',
            'swift.common.middleware.tempurl',
            'swift.proxy.server'])
开发者ID:Taejun,项目名称:swift,代码行数:53,代码来源:test_wsgi.py

示例12: _loadapp

    def _loadapp(self, proxy_config_path):
        """
        Load a proxy from an app.conf to get the memcache_ring

        :returns: the memcache_ring of the memcache middleware filter
        """
        with mock.patch('swift.proxy.server.Ring'):
            app = loadapp(proxy_config_path)
        memcache_ring = None
        while True:
            memcache_ring = getattr(app, 'memcache', None)
            if memcache_ring:
                break
            app = app.app
        return memcache_ring
开发者ID:bouncestorage,项目名称:swift,代码行数:15,代码来源:test_memcache.py

示例13: test_loadapp_storage

    def test_loadapp_storage(self, tempdir):
        expectations = {
            'object': obj_server.ObjectController,
            'container': container_server.ContainerController,
            'account': account_server.AccountController,
        }

        for server_type, controller in expectations.items():
            conf_path = os.path.join(
                tempdir, '%s-server.conf' % server_type)
            conf_body = """
            [DEFAULT]
            swift_dir = %s

            [app:main]
            use = egg:swift#%s
            """ % (tempdir, server_type)
            with open(conf_path, 'w') as f:
                f.write(dedent(conf_body))
            app = wsgi.loadapp(conf_path)
            self.assertTrue(isinstance(app, controller))
开发者ID:heemanshu,项目名称:swift_juno,代码行数:21,代码来源:test_wsgi.py

示例14: test_loadapp_proxy

    def test_loadapp_proxy(self, tempdir):
        conf_path = os.path.join(tempdir, 'proxy-server.conf')
        conf_body = """
        [DEFAULT]
        swift_dir = %s

        [pipeline:main]
        pipeline = catch_errors cache proxy-server

        [app:proxy-server]
        use = egg:swift#proxy

        [filter:cache]
        use = egg:swift#memcache

        [filter:catch_errors]
        use = egg:swift#catch_errors
        """ % tempdir
        with open(conf_path, 'w') as f:
            f.write(dedent(conf_body))
        account_ring_path = os.path.join(tempdir, 'account.ring.gz')
        write_fake_ring(account_ring_path)
        container_ring_path = os.path.join(tempdir, 'container.ring.gz')
        write_fake_ring(container_ring_path)
        object_ring_path = os.path.join(tempdir, 'object.ring.gz')
        write_fake_ring(object_ring_path)
        object_1_ring_path = os.path.join(tempdir, 'object-1.ring.gz')
        write_fake_ring(object_1_ring_path)
        app = wsgi.loadapp(conf_path)
        proxy_app = app.app.app.app.app
        self.assertEqual(proxy_app.account_ring.serialized_path,
                         account_ring_path)
        self.assertEqual(proxy_app.container_ring.serialized_path,
                         container_ring_path)
        self.assertEqual(proxy_app.get_object_ring(0).serialized_path,
                         object_ring_path)
        self.assertEqual(proxy_app.get_object_ring(1).serialized_path,
                         object_1_ring_path)
开发者ID:Edward1030,项目名称:swift,代码行数:38,代码来源:test_wsgi.py

示例15: test_loadapp_proxy

    def test_loadapp_proxy(self, tempdir):
        conf_path = os.path.join(tempdir, 'proxy-server.conf')
        conf_body = """
        [DEFAULT]
        swift_dir = %s

        [pipeline:main]
        pipeline = catch_errors cache proxy-server

        [app:proxy-server]
        use = egg:swift#proxy

        [filter:cache]
        use = egg:swift#memcache

        [filter:catch_errors]
        use = egg:swift#catch_errors
        """ % tempdir
        with open(conf_path, 'w') as f:
            f.write(dedent(conf_body))
        _fake_rings(tempdir)
        account_ring_path = os.path.join(tempdir, 'account.ring.gz')
        container_ring_path = os.path.join(tempdir, 'container.ring.gz')
        object_ring_paths = {}
        for policy in POLICIES:
            object_ring_paths[int(policy)] = os.path.join(
                tempdir, policy.ring_name + '.ring.gz')

        app = wsgi.loadapp(conf_path)
        proxy_app = app.app.app.app.app
        self.assertEqual(proxy_app.account_ring.serialized_path,
                         account_ring_path)
        self.assertEqual(proxy_app.container_ring.serialized_path,
                         container_ring_path)
        for policy_index, expected_path in object_ring_paths.items():
            object_ring = proxy_app.get_object_ring(policy_index)
            self.assertEqual(expected_path, object_ring.serialized_path)
开发者ID:heemanshu,项目名称:swift_juno,代码行数:37,代码来源:test_wsgi.py


注:本文中的swift.common.wsgi.loadapp函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。