def setUp(self):
        self.engine = create_engine('sqlite:///:memory:', echo=True)
        self.Base = declarative_base(self.engine)
        self.session_handler = ScopedSessionHandler(self.engine)
        self.session = Session(self.engine)

        class One(self.Base):
            __tablename__ = 'one'
            id = Column(Integer, primary_key=True)
            value = Column(String(length=50))
            manies = relationship("Many", backref='one')

        class Many(self.Base):
            __tablename__ = 'many'
            id = Column(Integer, primary_key=True)
            many_value = Column(String(length=50))
            one_id = Column(Integer, ForeignKey('one.id'))

        class DefaultManager(AlchemyManager):
            session = self.session
            model = One
            fields = ['id', 'value', 'manies.id']

        self.model = One
        self._manager = DefaultManager

        self.One = One
        self.Many = Many
        self.Base.metadata.create_all()
예제 #2
0
    def setUp(self):
        self.engine = create_engine('sqlite:///:memory:', echo=True)
        self.Base = declarative_base(self.engine)
        self.session_handler = ScopedSessionHandler(self.engine)

        class MyModel(self.Base):
            __tablename__ = 'my_model'
            id = Column(Integer, primary_key=True)
            value = Column(String(length=63))

        self.model = MyModel
        self.Base.metadata.create_all()

        class MyManager(AlchemyManager):
            model = self.model
            fields = (
                'id',
                'value',
            )
            paginate_by = 10

        self.manager = MyManager(self.session_handler)

        class MyResource(restmixins.RetrieveList):
            manager = self.manager
            pks = ('id', )
            resource_name = 'my_resource'

        self.resource = MyResource
예제 #3
0
    def setUp(self):
        self.engine = create_engine('sqlite:///:memory:', echo=True)
        self.Base = declarative_base(self.engine)
        self.session_handler = ScopedSessionHandler(self.engine)
        self.session = Session(self.engine)

        class MyModel(self.Base):
            __tablename__ = 'my_model'
            id = Column(Integer, primary_key=True)
            big_integer = Column(BigInteger)
            boolean = Column(Boolean)
            date = Column(Date)
            date_time = Column(DateTime)
            enum = Column(Enum('one', 'two' 'three'))
            float = Column(Float)
            integer = Column(Integer)
            interval = Column(Interval)
            large_binary = Column(LargeBinary)
            numeric = Column(Numeric)
            pickle_type = Column(PickleType)
            small_integer = Column(SmallInteger)
            string = Column(String)
            text = Column(Text)
            time = Column(Time)
            unicode = Column(Unicode)
            unicode_text = Column(UnicodeText)

        self.model = MyModel
        self.Base.metadata.create_all()

        class ModelManager(AlchemyManager):
            model = self.model
            fields = [
                'id', 'big_integer', 'boolean', 'date', 'date_time', 'enum',
                'float', 'integer', 'interval', 'large_binary', 'numeric',
                'pickle_type', 'small_integer', 'string', 'text', 'time',
                'unicode', 'unicode_text'
            ]

        self._manager = ModelManager
예제 #4
0
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals

import re

from ripozo.resources.fields.common import StringField
from ripozo_sqlalchemy import AlchemyManager, ScopedSessionHandler

from common.models import engine, Post, Comment

session_handler = ScopedSessionHandler(engine)


class PostManager(AlchemyManager):
    model = Post
    fields = (
        'id',
        'username',
        'post_text',
        'comments.id',
    )
    create_fields = (
        'username',
        'post_text',
    )
    _field_validators = {
        'username':
        StringField('username', minimum=3, regex=re.compile(r'^[a-zA-Z0-9]+$'))
    }
 def manager(self):
     session_handler = ScopedSessionHandler(self.engine)
     return PersonManager(session_handler)
예제 #6
0
 def setUp(self):
     self.engine = create_engine('sqlite:///:memory:')
     self.session_handler = ScopedSessionHandler(self.engine)
     Base.metadata.create_all(self.engine)
예제 #7
0
 def manager(self):
     session_handler = ScopedSessionHandler(self.engine)
     self.session_handler = session_handler
     self.session = self.session_handler.get_session()
     return self._manager(self.session_handler)