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


Python registry.register方法代码示例

本文整理汇总了Python中sqlalchemy.dialects.registry.register方法的典型用法代码示例。如果您正苦于以下问题:Python registry.register方法的具体用法?Python registry.register怎么用?Python registry.register使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在sqlalchemy.dialects.registry的用法示例。


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

示例1: register_dialects

# 需要导入模块: from sqlalchemy.dialects import registry [as 别名]
# 或者: from sqlalchemy.dialects.registry import register [as 别名]
def register_dialects():
    from sqlalchemy.dialects import registry
    registry.register("mysql.auroradataapi", __name__, AuroraMySQLDataAPIDialect.__name__)
    registry.register("postgresql.auroradataapi", __name__, AuroraPostgresDataAPIDialect.__name__) 
开发者ID:chanzuckerberg,项目名称:sqlalchemy-aurora-data-api,代码行数:6,代码来源:__init__.py

示例2: test_engine_from_config_custom

# 需要导入模块: from sqlalchemy.dialects import registry [as 别名]
# 或者: from sqlalchemy.dialects.registry import register [as 别名]
def test_engine_from_config_custom(self):
        from sqlalchemy import util

        tokens = __name__.split(".")

        class MyDialect(MockDialect):
            engine_config_types = {
                "foobar": int,
                "bathoho": util.bool_or_str("force"),
            }

            def __init__(self, foobar=None, bathoho=None, **kw):
                self.foobar = foobar
                self.bathoho = bathoho

        global dialect
        dialect = MyDialect
        registry.register(
            "mockdialect.barb", ".".join(tokens[0:-1]), tokens[-1]
        )

        config = {
            "sqlalchemy.url": "mockdialect+barb://",
            "sqlalchemy.foobar": "5",
            "sqlalchemy.bathoho": "false",
        }
        e = engine_from_config(config, _initialize=False)
        eq_(e.dialect.foobar, 5)
        eq_(e.dialect.bathoho, False) 
开发者ID:sqlalchemy,项目名称:sqlalchemy,代码行数:31,代码来源:test_parseconnect.py

示例3: test_register_base

# 需要导入模块: from sqlalchemy.dialects import registry [as 别名]
# 或者: from sqlalchemy.dialects.registry import register [as 别名]
def test_register_base(self):
        registry.register("mockdialect", __name__, "MockDialect")

        e = create_engine("mockdialect://")
        assert isinstance(e.dialect, MockDialect) 
开发者ID:sqlalchemy,项目名称:sqlalchemy,代码行数:7,代码来源:test_parseconnect.py

示例4: test_register_dotted

# 需要导入模块: from sqlalchemy.dialects import registry [as 别名]
# 或者: from sqlalchemy.dialects.registry import register [as 别名]
def test_register_dotted(self):
        registry.register("mockdialect.foob", __name__, "MockDialect")

        e = create_engine("mockdialect+foob://")
        assert isinstance(e.dialect, MockDialect) 
开发者ID:sqlalchemy,项目名称:sqlalchemy,代码行数:7,代码来源:test_parseconnect.py

示例5: test_register_legacy

# 需要导入模块: from sqlalchemy.dialects import registry [as 别名]
# 或者: from sqlalchemy.dialects.registry import register [as 别名]
def test_register_legacy(self):
        tokens = __name__.split(".")

        global dialect
        dialect = MockDialect
        registry.register(
            "mockdialect.foob", ".".join(tokens[0:-1]), tokens[-1]
        )

        e = create_engine("mockdialect+foob://")
        assert isinstance(e.dialect, MockDialect) 
开发者ID:sqlalchemy,项目名称:sqlalchemy,代码行数:13,代码来源:test_parseconnect.py

示例6: test_register_per_dbapi

# 需要导入模块: from sqlalchemy.dialects import registry [as 别名]
# 或者: from sqlalchemy.dialects.registry import register [as 别名]
def test_register_per_dbapi(self):
        registry.register("mysql.my_mock_dialect", __name__, "MockDialect")

        e = create_engine("mysql+my_mock_dialect://")
        assert isinstance(e.dialect, MockDialect) 
开发者ID:sqlalchemy,项目名称:sqlalchemy,代码行数:7,代码来源:test_parseconnect.py

示例7: test_plugin_url_registration

# 需要导入模块: from sqlalchemy.dialects import registry [as 别名]
# 或者: from sqlalchemy.dialects.registry import register [as 别名]
def test_plugin_url_registration(self):
        from sqlalchemy.dialects import sqlite

        global MyEnginePlugin

        def side_effect(url, kw):
            eq_(
                url.query,
                {
                    "plugin": "engineplugin",
                    "myplugin_arg": "bat",
                    "foo": "bar",
                },
            )
            eq_(kw, {"logging_name": "foob"})
            kw["logging_name"] = "bar"
            url.query.pop("myplugin_arg", None)
            return MyEnginePlugin

        MyEnginePlugin = Mock(side_effect=side_effect)

        plugins.register("engineplugin", __name__, "MyEnginePlugin")

        e = create_engine(
            "sqlite:///?plugin=engineplugin&foo=bar&myplugin_arg=bat",
            logging_name="foob",
        )
        eq_(e.dialect.name, "sqlite")
        eq_(e.logging_name, "bar")

        # plugin args are removed from URL.
        eq_(e.url.query, {"foo": "bar"})
        assert isinstance(e.dialect, sqlite.dialect)

        eq_(
            MyEnginePlugin.mock_calls,
            [
                call(url.make_url("sqlite:///?foo=bar"), {}),
                call.handle_dialect_kwargs(sqlite.dialect, mock.ANY),
                call.handle_pool_kwargs(mock.ANY, {"dialect": e.dialect}),
                call.engine_created(e),
            ],
        )

        # url was modified in place by MyEnginePlugin
        eq_(str(MyEnginePlugin.mock_calls[0][1][0]), "sqlite:///?foo=bar") 
开发者ID:sqlalchemy,项目名称:sqlalchemy,代码行数:48,代码来源:test_parseconnect.py

示例8: test_plugin_multiple_url_registration

# 需要导入模块: from sqlalchemy.dialects import registry [as 别名]
# 或者: from sqlalchemy.dialects.registry import register [as 别名]
def test_plugin_multiple_url_registration(self):
        from sqlalchemy.dialects import sqlite

        global MyEnginePlugin1
        global MyEnginePlugin2

        def side_effect_1(url, kw):
            eq_(kw, {"logging_name": "foob"})
            kw["logging_name"] = "bar"
            url.query.pop("myplugin1_arg", None)
            return MyEnginePlugin1

        def side_effect_2(url, kw):
            url.query.pop("myplugin2_arg", None)
            return MyEnginePlugin2

        MyEnginePlugin1 = Mock(side_effect=side_effect_1)
        MyEnginePlugin2 = Mock(side_effect=side_effect_2)

        plugins.register("engineplugin1", __name__, "MyEnginePlugin1")
        plugins.register("engineplugin2", __name__, "MyEnginePlugin2")

        e = create_engine(
            "sqlite:///?plugin=engineplugin1&foo=bar&myplugin1_arg=bat"
            "&plugin=engineplugin2&myplugin2_arg=hoho",
            logging_name="foob",
        )
        eq_(e.dialect.name, "sqlite")
        eq_(e.logging_name, "bar")

        # plugin args are removed from URL.
        eq_(e.url.query, {"foo": "bar"})
        assert isinstance(e.dialect, sqlite.dialect)

        eq_(
            MyEnginePlugin1.mock_calls,
            [
                call(url.make_url("sqlite:///?foo=bar"), {}),
                call.handle_dialect_kwargs(sqlite.dialect, mock.ANY),
                call.handle_pool_kwargs(mock.ANY, {"dialect": e.dialect}),
                call.engine_created(e),
            ],
        )

        eq_(
            MyEnginePlugin2.mock_calls,
            [
                call(url.make_url("sqlite:///?foo=bar"), {}),
                call.handle_dialect_kwargs(sqlite.dialect, mock.ANY),
                call.handle_pool_kwargs(mock.ANY, {"dialect": e.dialect}),
                call.engine_created(e),
            ],
        ) 
开发者ID:sqlalchemy,项目名称:sqlalchemy,代码行数:55,代码来源:test_parseconnect.py

示例9: test_plugin_arg_registration

# 需要导入模块: from sqlalchemy.dialects import registry [as 别名]
# 或者: from sqlalchemy.dialects.registry import register [as 别名]
def test_plugin_arg_registration(self):
        from sqlalchemy.dialects import sqlite

        global MyEnginePlugin

        def side_effect(url, kw):
            eq_(
                kw,
                {
                    "logging_name": "foob",
                    "plugins": ["engineplugin"],
                    "myplugin_arg": "bat",
                },
            )
            kw["logging_name"] = "bar"
            kw.pop("myplugin_arg", None)
            return MyEnginePlugin

        MyEnginePlugin = Mock(side_effect=side_effect)

        plugins.register("engineplugin", __name__, "MyEnginePlugin")

        e = create_engine(
            "sqlite:///?foo=bar",
            logging_name="foob",
            plugins=["engineplugin"],
            myplugin_arg="bat",
        )
        eq_(e.dialect.name, "sqlite")
        eq_(e.logging_name, "bar")

        assert isinstance(e.dialect, sqlite.dialect)

        eq_(
            MyEnginePlugin.mock_calls,
            [
                call(url.make_url("sqlite:///?foo=bar"), {}),
                call.handle_dialect_kwargs(sqlite.dialect, mock.ANY),
                call.handle_pool_kwargs(mock.ANY, {"dialect": e.dialect}),
                call.engine_created(e),
            ],
        ) 
开发者ID:sqlalchemy,项目名称:sqlalchemy,代码行数:44,代码来源:test_parseconnect.py


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