コード例 #1
0
ファイル: test_relations.py プロジェクト: mardiros/aiorm
    def aioSetUp(self):
        from aiorm import registry
        from aiorm.orm.dialect.postgresql import Dialect, CreateTableDialect
        registry.register(Dialect)
        registry.register(CreateTableDialect)

        yield from registry.connect('/sample')
コード例 #2
0
    def aioSetUp(self):
        from aiorm import registry
        from aiorm.orm.dialect.postgresql import Dialect, CreateTableDialect
        registry.register(Dialect)
        registry.register(CreateTableDialect)

        yield from registry.connect('/sample')
コード例 #3
0
ファイル: config.py プロジェクト: mardiros/pyramid_aiorm
def includeme(config):
    from aiorm.driver.postgresql.aiopg import Driver
    from aiorm.orm.dialect.postgresql import Dialect

    config.add_tween('pyramid_aiorm.transaction.tween_factory',
                     under=EXCVIEW)

    settings = {key:val for key, val in config.get_settings().items()
                if key.startswith('aiorm.')}
    driver_cls = settings.pop('aiorm.driver', 'aiorm.driver.postgresql.aiopg')
    driver_cls = getattr(importlib.import_module(driver_cls), 'Driver')
    registry.register(driver_cls)

    dialect = settings.pop('aiorm.driver', 'aiorm.orm.dialect.postgresql')
    dialect = importlib.import_module(dialect)
    dialect_cls = getattr(dialect, 'Dialect')
    registry.register(dialect_cls)
    dialect_cls = getattr(dialect, 'CreateTableDialect')
    registry.register(dialect_cls)

    ignored = len('aiorm.db.')
    for key, url in settings.items():
        if not key.startswith('aiorm.db.'):
            continue
        name = key[ignored:]
        yield from registry.connect(url, name=name)


    scanmods = aslist(settings['aiorm.scan'], flatten=True)
    for scanmod in scanmods:
        orm.scan(scanmod)
コード例 #4
0
    def test_registry(self):

        from zope.interface import Interface, implementer
        from aiorm import registry

        class IAdaptable(Interface):
            pass

        class IAdapter(Interface):
            pass

        class IAdapter2(Interface):
            pass

        @implementer(IAdaptable)
        class Adaptable:
            pass

        @implementer(IAdapter)
        class Adapter:
            pass

        @implementer(IAdapter2)
        class Adapter2:
            pass

        self.assertRaises(NotImplementedError, registry.get, IAdapter)
        registry.register(Adapter, adapt=IAdaptable)  # introspect iface
        self.assertRaises(ValueError,
                          registry.register, Adapter, adapt=IAdaptable)
        registry.register(Adaptable, IAdaptable, adapt=IAdaptable) # explicit
        registry.register(Adapter2, adapt=Adaptable)

        # 3 "types" accepted for the adapt parameter
        self.assertEqual(registry.get(IAdapter, adapt=IAdaptable), Adapter)
        self.assertEqual(registry.get(IAdapter, adapt=Adaptable), Adapter)
        self.assertEqual(registry.get(IAdapter, adapt=Adaptable()), Adapter)

        self.assertEqual(registry.get(IAdaptable, adapt=IAdaptable), Adaptable)
        self.assertEqual(registry.get(IAdaptable, adapt=Adaptable), Adaptable)

        registry.unregister(Adapter, IAdaptable)
        self.assertRaises(NotImplementedError,
                          registry.get, IAdapter, adapt=IAdaptable)
        registry.unregister(Adapter)
        registry.unregister(Adapter2)
コード例 #5
0
ファイル: test_registry.py プロジェクト: zeninpalm/aiorm
    def test_registry(self):

        from zope.interface import Interface, implementer
        from aiorm import registry

        class IAdaptable(Interface):
            pass

        class IAdapter(Interface):
            pass

        class IAdapter2(Interface):
            pass

        @implementer(IAdaptable)
        class Adaptable:
            pass

        @implementer(IAdapter)
        class Adapter:
            pass

        @implementer(IAdapter2)
        class Adapter2:
            pass

        self.assertRaises(NotImplementedError, registry.get, IAdapter)
        registry.register(Adapter, adapt=IAdaptable)  # introspect iface
        self.assertRaises(ValueError, registry.register, Adapter, adapt=IAdaptable)
        registry.register(Adaptable, IAdaptable, adapt=IAdaptable)  # explicit
        registry.register(Adapter2, adapt=Adaptable)

        # 3 "types" accepted for the adapt parameter
        self.assertEqual(registry.get(IAdapter, adapt=IAdaptable), Adapter)
        self.assertEqual(registry.get(IAdapter, adapt=Adaptable), Adapter)
        self.assertEqual(registry.get(IAdapter, adapt=Adaptable()), Adapter)

        self.assertEqual(registry.get(IAdaptable, adapt=IAdaptable), Adaptable)
        self.assertEqual(registry.get(IAdaptable, adapt=Adaptable), Adaptable)

        registry.unregister(Adapter, IAdaptable)
        self.assertRaises(NotImplementedError, registry.get, IAdapter, adapt=IAdaptable)
        registry.unregister(Adapter)
        registry.unregister(Adapter2)
コード例 #6
0
 def setUp(self):
     registry.register(DummyDialect, IDialect)
コード例 #7
0
 def setUp(self):
     registry.register(DummyCreateTableDialect, ICreateTableDialect)
コード例 #8
0
ファイル: statements.py プロジェクト: mardiros/aiorm
        return renderer.query, renderer.parameters


@implementer(interfaces.IGroupBy)
class GroupBy(Statement):
    """ A Where clause statement """

    def render_sql(self, renderer):
        renderer.render_group_by(*self._args, **self._kwargs)
        if self._child:
            self._child.render_sql(renderer)
        return renderer.query, renderer.parameters


@implementer(interfaces.IOrderBy)
class OrderBy(Statement):

    def render_sql(self, renderer):
        renderer.render_order_by(*self._args, **self._kwargs)
        if self._child:
            self._child.render_sql(renderer)
        return renderer.query, renderer.parameters


registry.register(Where, interfaces.IWhere)
registry.register(Join, interfaces.IJoin)
registry.register(LeftJoin, interfaces.ILeftJoin)
registry.register(Limit, interfaces.ILimit)
registry.register(GroupBy, interfaces.IGroupBy)
registry.register(OrderBy, interfaces.IOrderBy)
コード例 #9
0
 def setUpClass(cls):
     registry.register(DummyDriver)
コード例 #10
0
ファイル: statements.py プロジェクト: zeninpalm/aiorm
@implementer(interfaces.IJoin)
class Join(Statement):
    def render_sql(self, renderer):
        renderer.render_join(*self._args, **self._kwargs)
        if self._child:
            self._child.render_sql(renderer)
        return renderer.query, renderer.parameters


@implementer(interfaces.ILeftJoin)
class LeftJoin(Statement):
    def render_sql(self, renderer):
        renderer.render_left_join(*self._args, **self._kwargs)
        if self._child:
            self._child.render_sql(renderer)
        return renderer.query, renderer.parameters


@implementer(interfaces.IWhere)
class Where(Statement):
    def render_sql(self, renderer):
        renderer.render_where(*self._args, **self._kwargs)
        if self._child:
            self._child.render_sql(renderer)
        return renderer.query, renderer.parameters


registry.register(Where, interfaces.IWhere)
registry.register(Join, interfaces.IJoin)
registry.register(LeftJoin, interfaces.ILeftJoin)
コード例 #11
0
ファイル: statements.py プロジェクト: zeninpalm/aiorm
        renderer.render_join(*self._args, **self._kwargs)
        if self._child:
            self._child.render_sql(renderer)
        return renderer.query, renderer.parameters


@implementer(interfaces.ILeftJoin)
class LeftJoin(Statement):

    def render_sql(self, renderer):
        renderer.render_left_join(*self._args, **self._kwargs)
        if self._child:
            self._child.render_sql(renderer)
        return renderer.query, renderer.parameters



@implementer(interfaces.IWhere)
class Where(Statement):

    def render_sql(self, renderer):
        renderer.render_where(*self._args, **self._kwargs)
        if self._child:
            self._child.render_sql(renderer)
        return renderer.query, renderer.parameters


registry.register(Where, interfaces.IWhere)
registry.register(Join, interfaces.IJoin)
registry.register(LeftJoin, interfaces.ILeftJoin)
コード例 #12
0
ファイル: driver.py プロジェクト: mardiros/aiorm
 def setUpClass(cls):
     registry.register(DummyDriver)