Ejemplo n.º 1
0
        """
        if not sqlobject:
            raise UnsupportedHandler("sqlobject module not found")
        if obj is None:
            return False
        from sqlobject.declarative import DeclarativeMeta
        if type(obj) is DeclarativeMeta and obj.__name__ not in (
                        'SQLObject', 'sqlmeta', 'ManyToMany', 'OneToMany'):
            return True      
    
    def sets(self):
        """yields FixtureSet for each row in SQLObject."""
        for row in self.rs:
            yield SQLObjectFixtureSet(row, self.obj, connection=self.connection)
            
register_handler(SQLObjectHandler)

class SQLObjectFixtureSet(FixtureSet):
    """a fixture set for a SQLObject row."""
    
    def __init__(self, data, model, connection=None):
        FixtureSet.__init__(self, data)
        self.connection = connection
        self.model = model
        self.meta = model.sqlmeta
        self.foreign_key_class = {}
        self.primary_key = None
        
        self.understand_columns()
        
        # NOTE: primary keys are not included in columnList
Ejemplo n.º 2
0
        if not SQLAlchemyHandler.recognizes(object_path, obj=obj):
            return False
        
        if not SQLAlchemyMappedClassHandler.recognizes(object_path, obj=obj):
            return False
        
        # OK, so it is a mapped class
        if (hasattr(obj, 'query') and 
                getattr(obj.query, '__module__', '').startswith('sqlalchemy')): 
            # sort of hoky but 0.5 proxies query and 
            # query.mapper so we can't check types
            return True
        
        return False
        
register_handler(SQLAlchemySessionMapperHandler)

class SQLAlchemyTableHandler(SQLAlchemyHandler):        
    class RecordSetAdapter(SQLAlchemyHandler.RecordSetAdapter):
        def __init__(self, obj):
            self.table = obj
            self.columns = self.table.columns
            keys = [k for k in self.table.primary_key]
            if len(keys) != 1:
                raise ValueError("unsupported primary key type %s" % keys)
            self.id_attr = keys[0].key
        
        def primary_key_from_instance(self, data):
            key_str = []
            for k in self.table.primary_key:
                key_str.append(str(getattr(data, k.key)))
Ejemplo n.º 3
0
        """
        if not sqlobject:
            raise UnsupportedHandler("sqlobject module not found")
        if obj is None:
            return False
        from sqlobject.declarative import DeclarativeMeta
        if type(obj) is DeclarativeMeta and obj.__name__ not in (
                        'SQLObject', 'sqlmeta', 'ManyToMany', 'OneToMany'):
            return True

    def sets(self):
        """yields FixtureSet for each row in SQLObject."""
        for row in self.rs:
            yield SQLObjectFixtureSet(row, self.obj, connection=self.connection)

register_handler(SQLObjectHandler)

class SQLObjectFixtureSet(FixtureSet):
    """a fixture set for a SQLObject row."""

    def __init__(self, data, model, connection=None):
        FixtureSet.__init__(self, data)
        self.connection = connection
        self.model = model
        self.meta = model.sqlmeta
        self.foreign_key_class = {}
        self.primary_key = None

        self.understand_columns()

        # NOTE: primary keys are not included in columnList
Ejemplo n.º 4
0
            return False

        if not SQLAlchemyMappedClassHandler.recognizes(object_path, obj=obj):
            return False

        # OK, so it is a mapped class
        if (hasattr(obj, 'query') and getattr(obj.query, '__module__',
                                              '').startswith('sqlalchemy')):
            # sort of hoky but 0.5 proxies query and
            # query.mapper so we can't check types
            return True

        return False


register_handler(SQLAlchemySessionMapperHandler)


class SQLAlchemyTableHandler(SQLAlchemyHandler):
    class RecordSetAdapter(SQLAlchemyHandler.RecordSetAdapter):
        def __init__(self, obj):
            self.table = obj
            self.columns = self.table.columns
            keys = [k for k in self.table.primary_key]
            if len(keys) != 1:
                raise ValueError("unsupported primary key type %s" % keys)
            self.id_attr = keys[0].key

        def primary_key_from_instance(self, data):
            key_str = []
            for k in self.table.primary_key:
Ejemplo n.º 5
0
            if type(mapper) == Mapper:
                return True

        if hasattr(obj, 'mapper'):
            # i.e. assign_mapper ...
            if isa_mapper(obj.mapper):
                return True
        if hasattr(obj, '_mapper'):
            # i.e. sqlsoup ??
            if isa_mapper(obj._mapper):
                return True

        return False


register_handler(SQLAlchemyAssignedMapperHandler)


class SQLAlchemyTableHandler(SQLAlchemyHandler):
    class RecordSetAdapter(SQLAlchemyHandler.RecordSetAdapter):
        def __init__(self, obj):
            self.table = obj
            self.columns = self.table.columns
            keys = [k for k in self.table.primary_key]
            if len(keys) != 1:
                raise ValueError("unsupported primary key type %s" % keys)
            self.id_attr = keys[0].key

        def primary_key_from_instance(self, data):
            key_str = []
            for k in self.table.primary_key: