示例#1
0
 def _configure_provider(self):
     if tg.config.get('use_sqlalchemy', False):
         log.info('Configuring resetpassword for SQLAlchemy')
         from sprox.sa.provider import SAORMProvider
         self._provider = SAORMProvider(session=DBSession)
     elif tg.config.get('use_ming', False):
         log.info('Configuring resetpassword for Ming')
         from sprox.mg.provider import MingProvider
         self._provider = MingProvider(DBSession)
     else:
         raise ValueError(
             'resetpassword should be used with sqlalchemy or ming')
示例#2
0
 def _configure_provider(self):
     if tg.config.get('use_sqlalchemy'):
         log.info('Configuring %s for SQLAlchemy' % TGAPP_NAME)
         from sprox.sa.provider import SAORMProvider
         self._provider = SAORMProvider(session=DBSession)
     elif tg.config.get('use_ming'):
         log.info('Configuring %s for Ming' % TGAPP_NAME)
         from sprox.mg.provider import MingProvider
         self._provider = MingProvider(DBSession)
     else:
         raise ValueError('%s should be used with sqlalchemy or ming' %
                          TGAPP_NAME)
示例#3
0
def configure_models():
    global provider

    if tg.config.get('use_sqlalchemy', False):
        log.info('Configuring TgappPermissions for SQLAlchemy')
        from sprox.sa.provider import SAORMProvider
        provider = SAORMProvider(session=DBSession, engine=False)
    elif tg.config.get('use_ming', False):
        log.info('Configuring TgappPermissions for Ming')
        from sprox.mg.provider import MingProvider
        provider = MingProvider(DBSession)
    else:
        raise ValueError(
            'TgappPermissions should be used with sqlalchemy or ming')
示例#4
0
 def setup(self):
     super(TestSAORMProvider, self).setup()
     self.provider = SAORMProvider(session)
     session.add(Department(department_id=1, name='Marketing'))
     session.add(Department(department_id=2, name='Accounting'))
     session.add(DocumentCategory(document_category_id=1, department_id=1, name='Brochure'))
     session.add(DocumentCategory(document_category_id=2, department_id=1, name='Flyer'))
     session.add(DocumentCategory(document_category_id=3, department_id=2, name='Balance Sheet'))
     session.add(Document(document_category_id=1, owner=1))
     session.add(Document(document_category_id=2, owner=1))
     session.add(Document(document_category_id=1, owner=2))
     session.add(Permission(permission_name='perm'))
     #session.add(DocumentRating(user_id=1, document_id=1, rating=5))
     self.provider.flush()
    def get_provider(self, entity=None, hint=None, **hints):
        """
        :Arguments:

        Entity
          Mapped class to find a provider for

        hint/hints
          variables sent in to the provider to give more information about
          how the provider connects to the database.

        Get a provider related to the entity.  (They should share the same engine)
        The provider's are cached as not to waste computation/memory.

        :Usage:

        >>> from sprox.providerselector import SAORMSelector
        >>> provider = SAORMSelector.get_provider(User, session=session)
        >>> str(provider.engine.url.drivername)
        'sqlite'
        """

        if entity is None and isinstance(hint, Engine):
            engine = hint
            if engine not in self._providers:
                self._providers[engine] = SAORMProvider(hint, **hints)
            return self._providers[engine]

        if hint is None and entity is not None:
            mapper = class_mapper(entity)
            hint = mapper.tables[0].bind
        engine = self._get_engine(hint, hints)
        if engine not in self._providers:
            if hint is None and len(hints) == 0:
                hint = engine
            self._providers[engine] = SAORMProvider(hint, **hints)
        return self._providers[engine]
示例#6
0
def configure_models():
    global provider, MailModel, TemplateTranslation

    if tg.config.get('use_sqlalchemy', False):
        log.info('Configuring MailTemplates for SQLAlchemy')
        from mailtemplates.model.sqla.models import MailModel, TemplateTranslation
        from sprox.sa.provider import SAORMProvider
        provider = SAORMProvider(session=DBSession, engine=False)
    elif tg.config.get('use_ming', False):
        log.info('Configuring MailTemplates for Ming')
        from mailtemplates.model.ming.models import MailModel, TemplateTranslation
        from sprox.mg.provider import MingProvider
        provider = MingProvider(DBSession)
    else:
        raise ValueError('MailTemplates should be used with sqlalchemy or ming')
示例#7
0
def configure_models():
    global provider, ProfileActivation

    if tg.config.get('use_sqlalchemy', False):
        log.info('Configuring tgapp-userprofile for SQLAlchemy')
        from userprofile.model.sqla.models import ProfileActivation
        from sprox.sa.provider import SAORMProvider
        provider = SAORMProvider(session=DBSession, engine=False)
    elif tg.config.get('use_ming', False):
        log.info('Configuring tgapp-userprofile for Ming')
        from userprofile.model.ming.models import ProfileActivation
        from sprox.mg.provider import MingProvider
        provider = MingProvider(DBSession)
    else:
        raise ValueError(
            'tgapp-userprofile should be used with sqlalchemy or ming')
示例#8
0
def configure_models():
    global provider, Category, CategoryImage

    if tg.config.get('use_sqlalchemy', False):
        log.info('Configuring TgappCategories for SQLAlchemy')
        from tgappcategories.model.sqla.models import Category, CategoryImage
        from sprox.sa.provider import SAORMProvider
        provider = SAORMProvider(session=DBSession, engine=False)
    elif tg.config.get('use_ming', False):
        log.info('Configuring TgappCategories for Ming')
        from tgappcategories.model.ming.models import Category, CategoryImage
        from sprox.mg.provider import MingProvider
        provider = MingProvider(DBSession)
    else:
        raise ValueError(
            'TgappCategories should be used with sqlalchemy or ming')
示例#9
0
def configure_models():
    global provider, Comment, CommentVote, DeclarativeBase

    if tg.config.get('use_sqlalchemy', False):
        log.info('Configuring TGComments for SQLAlchemy')
        from sqlalchemy.ext.declarative import declarative_base
        DeclarativeBase = declarative_base()
        from tgcomments.model.sqla.models import Comment, CommentVote
        from sprox.sa.provider import SAORMProvider
        provider = SAORMProvider(session=DBSession, engine=False)
    elif tg.config.get('use_ming', False):
        log.info('Configuring TGComments for Ming')
        from tgcomments.model.ming.models import Comment, CommentVote
        from sprox.mg.provider import MingProvider
        provider = MingProvider(DBSession)
    else:
        raise ValueError('TGComments should be used with sqlalchemy or ming')
示例#10
0
 def test_dropdown_options_warn(self):
     provider = SAORMProvider(metadata)
     options = provider.get_dropdown_options(User, 'town')
     eq_(options, [])
示例#11
0
 def test_create_with_metadata(self):
     provider = SAORMProvider(metadata)
     assert provider.engine == engine
示例#12
0
 def test_create_with_session(self):
     provider = SAORMProvider(session)
     assert provider.engine == engine
示例#13
0
 def test_create_with_engine(self):
     provider = SAORMProvider(engine)
     assert provider.engine == engine
示例#14
0
 def setup(self):
     super(TestFieldsMetadata, self).setup()
     provider = SAORMProvider(engine, metadata=metadata)
     self.metadata = FieldsMetadata(provider, Example)
session = None
engine = None
connection = None
trans = None


def setup():
    global session, engine, connect, trans
    session, engine, connect = setup_database()


def teardown():
    global session, trans


provider = SAORMProvider(metadata=metadata)


class TestValidatorSelector(SproxTest):
    def setup(self):
        self.validatorSelector = ValidatorSelector()
        super(TestValidatorSelector, self).setup()

    def test_createObj(self):
        pass

    def testSelect(self):
        assert issubclass(self.validatorSelector.select('lala'),
                          FEUnicodeString)

示例#16
0
 def setup(self):
     provider = SAORMProvider(engine, metadata=metadata)
     self.metadata = EntitiesMetadata(provider)
示例#17
0
 def setup(self):
     super(TestUniqueValue, self).setup()
     self.validator = UniqueValue(SAORMProvider(session), User, 'user_name')