def test_mapper(self): class MyDerivedEntity(MyEntity): pass @implementer(IEntity) class MyEntityWithCustomId(object): def __init__(self, id=None): # redefining id pylint: disable=W0622 self.__id = id self.__slug = str(id) @property def id(self): return str(self.__id) @property def slug(self): return str(self.__id) class MyPolymorphicEntity1(MyEntityWithCustomId): pass class MyPolymorphicEntity2(MyEntityWithCustomId): pass t1 = self._make_table(True) with self.assert_raises(ValueError) as cm: mpr = mapper(MyDerivedEntity, t1, id_attribute='my_id') msg_str = 'Attempting to overwrite the mapped' self.assert_true(str(cm.exception).startswith(msg_str)) t2 = self._make_table(False) with self.assert_raises(ValueError) as cm: mpr = mapper(MyEntityWithCustomId, t2, id_attribute='my_id') msg_str = 'Attempting to overwrite the custom data' self.assert_true(str(cm.exception).startswith(msg_str)) # slug_expr = lambda cls: as_slug_expression(cast(cls.id, String)) mpr = mapper(MyDerivedEntity, t2, id_attribute='my_id', slug_expression=slug_expr) self.assert_true(MyDerivedEntity.__dict__['slug'].expr is slug_expr) self.assert_true(isinstance(MyDerivedEntity.slug, Function)) mpr.dispose() # Test mapping polymorphic class with custom slug in the base class. base_mpr = mapper(MyEntityWithCustomId, t2, polymorphic_on='my_type', polymorphic_identity='base') poly_mpr1 = mapper(MyPolymorphicEntity1, inherits=base_mpr, polymorphic_identity='derived') self.assert_true(isinstance(MyPolymorphicEntity1.__dict__['slug'], hybrid_descriptor)) # We should not override the slug expression if we are inheriting # a hybrid descriptor from the base class. self.assert_raises(ValueError, mapper, MyPolymorphicEntity2, inherits=base_mpr, polymorphic_identity='derived', slug_expression=slug_expr) base_mpr.dispose() poly_mpr1.dispose()
def test_mapper(self): class MyDerivedEntity(MyEntity): pass class MyEntityWithCustomId(object): implements(IEntity) def __init__(self, id=None): # redefining id pylint: disable=W0622 self.__id = id self.__slug = str(id) @property def id(self): return str(self.__id) @property def slug(self): return str(self.__id) class MyPolymorphicEntity(MyEntityWithCustomId): pass t1 = self._make_table(True) with self.assert_raises(ValueError) as cm: mpr = mapper(MyDerivedEntity, t1, id_attribute='my_id') msg_str = 'Attempting to overwrite the mapped' self.assert_true(cm.exception.message.startswith(msg_str)) t2 = self._make_table(False) with self.assert_raises(ValueError) as cm: mpr = mapper(MyEntityWithCustomId, t2, id_attribute='my_id') msg_str = 'Attempting to overwrite the custom data' self.assert_true(cm.exception.message.startswith(msg_str)) # slug_expr = lambda cls: as_slug_expression(cast(cls.id, String)) mpr = mapper(MyDerivedEntity, t2, id_attribute='my_id', slug_expression=slug_expr) self.assert_true(MyDerivedEntity.__dict__['slug'].expr is slug_expr) self.assert_true(isinstance(MyDerivedEntity.slug, Function)) mpr.dispose() # Test mapping polymorphic class with custom slug in the base class. base_mpr = mapper(MyEntityWithCustomId, t2, polymorphic_on='my_type', polymorphic_identity='base') mpr = mapper(MyPolymorphicEntity, inherits=base_mpr, polymorphic_identity='derived') self.assert_true( isinstance(MyPolymorphicEntity.__dict__['slug'], hybrid_descriptor)) base_mpr.dispose() mpr.dispose()
def create_mapper(tag_tbl, tag_domain_tbl, tag_predicate_tbl, tag_value_tbl, tagging_tbl): "Mapper factory." m = mapper(Tag, tag_tbl, id_attribute='tag_id', slug_expression=lambda cls: as_slug_expression( func.concatenate(cls.domain, ':', cls.predicate, '=', cls.value)), extension=TagMapperExtension(tag_domain_tbl, tag_predicate_tbl, tag_value_tbl), properties= dict(tagged=relationship(Tagged, secondary=tagging_tbl, back_populates='tags'), domain=column_property( select([tag_domain_tbl.c.domain]) \ .where(tag_tbl.c.tag_domain_id == tag_domain_tbl.c.tag_domain_id) ), predicate=column_property( select([tag_predicate_tbl.c.predicate]) \ .where(tag_tbl.c.tag_predicate_id == tag_predicate_tbl.c.tag_predicate_id) ), value=column_property( select([tag_value_tbl.c.value]) \ .where(tag_tbl.c.tag_value_id == tag_value_tbl.c.tag_value_id) ), ) ) return m
def create_mapper(barcoded_location_tbl, rack_barcoded_location_tbl): "Mapper factory." bl = barcoded_location_tbl rbl = rack_barcoded_location_tbl.alias() m = mapper(BarcodedLocation, barcoded_location_tbl, id_attribute='barcoded_location_id', slug_expression=lambda cls: as_slug_expression(cls.name), properties=dict( label=column_property( barcoded_location_tbl.c.label, comparator_factory=CaseInsensitiveComparator ), device=relationship(Device, uselist=False, back_populates='locations'), location_rack=relationship(BarcodedLocationRack, uselist=False, back_populates='location', # lazy='joined', cascade='all,delete,delete-orphan', single_parent=True ), empty= column_property(~exists(# the symbol "~" negates the clause select([rbl.c.barcoded_location_id], bl.c.barcoded_location_id == rbl.c.barcoded_location_id )), deferred=True ), ) ) return m
def create_mapper(rack_specs_tbl): "Mapper factory." rs = rack_specs_tbl polymorphic_select = select([ rs, (case([(rs.c.has_movable_subitems, literal(RACK_SPECS_TYPES.TUBE_RACK_SPECS))], else_=literal(RACK_SPECS_TYPES.PLATE_SPECS))).label( 'rackspecs_type') ], ).alias('rackspecs') m = mapper(RackSpecs, polymorphic_select, id_attribute='rack_specs_id', slug_expression=lambda cls: as_slug_expression(cls.name), properties=dict( manufacturer=relationship(Organization), shape=relationship(RackShape, uselist=False, back_populates='specs'), rack_specs_type= column_property(polymorphic_select.c.rackspecs_type), ), polymorphic_on=polymorphic_select.c.rackspecs_type, polymorphic_identity=RACK_SPECS_TYPES.RACK_SPECS, ) RackSpecs.has_tubes = synonym('has_movable_subitems') return m
def create_mapper(job_mapper, iso_job_tbl, iso_job_member_tbl, worklist_series_iso_request_tbl): "Mapper factory." m = mapper(IsoJob, iso_job_tbl, inherits=job_mapper, polymorphic_identity=JOB_TYPES.ISO, properties=dict( iso_job_stock_racks=relationship(IsoJobStockRack, back_populates='iso_job', cascade='all, delete-orphan'), iso_job_preparation_plates=relationship( IsoJobPreparationPlate, back_populates='iso_job', cascade='all, delete-orphan'), isos=relationship(Iso, secondary=iso_job_member_tbl, back_populates='iso_job', cascade='all, delete-orphan', single_parent=True), worklist_series=relationship(WorklistSeries, cascade='all, delete-orphan', uselist=False, single_parent=True, secondary=worklist_series_iso_request_tbl) ) ) return m
def create_mapper(job_mapper, iso_job_tbl, iso_job_member_tbl, worklist_series_iso_request_tbl): "Mapper factory." m = mapper(IsoJob, iso_job_tbl, inherits=job_mapper, polymorphic_identity=JOB_TYPES.ISO, properties=dict(iso_job_stock_racks=relationship( IsoJobStockRack, back_populates='iso_job', cascade='all, delete-orphan'), iso_job_preparation_plates=relationship( IsoJobPreparationPlate, back_populates='iso_job', cascade='all, delete-orphan'), isos=relationship(Iso, secondary=iso_job_member_tbl, back_populates='iso_job', cascade='all, delete-orphan', single_parent=True), worklist_series=relationship( WorklistSeries, cascade='all, delete-orphan', uselist=False, single_parent=True, secondary=worklist_series_iso_request_tbl))) return m
def create_mapper(experiment_metadata_tbl, experiment_metadata_iso_request_tbl): "Mapper factory." m = mapper( ExperimentMetadata, experiment_metadata_tbl, id_attribute='experiment_metadata_id', slug_expression=lambda cls: as_slug_expression(cls.label), properties=dict( label=column_property( experiment_metadata_tbl.c.label, comparator_factory=CaseInsensitiveComparator), experiment_design=relationship( ExperimentDesign, uselist=False, cascade='all,delete,delete-orphan', back_populates='experiment_metadata'), subproject=relationship(Subproject, uselist=False), lab_iso_request=relationship( LabIsoRequest, uselist=False, secondary=experiment_metadata_iso_request_tbl, back_populates='experiment_metadata', cascade='all,delete,delete-orphan', single_parent=True), experiment_metadata_type=relationship(ExperimentMetadataType, uselist=False), ), ) return m
def create_mapper(supplier_molecule_design_tbl, single_supplier_molecule_design_tbl, pooled_supplier_molecule_design_tbl): "Mapper factory." ssmd = single_supplier_molecule_design_tbl psmd = pooled_supplier_molecule_design_tbl m = mapper(SupplierMoleculeDesign, supplier_molecule_design_tbl, id_attribute='supplier_molecule_design_id', properties=dict( supplier= relationship(Organization, uselist=False), supplier_structure_annotations= relationship(SupplierStructureAnnotation, back_populates= 'supplier_molecule_design'), molecule_design=\ relationship(MoleculeDesign, uselist=False, secondary=ssmd, back_populates='supplier_molecule_designs'), molecule_design_pool=\ relationship(MoleculeDesignPool, uselist=False, secondary=psmd, back_populates='supplier_molecule_designs') ), ) return m
def create_mapper(molecule_design_tbl, molecule_design_structure_tbl, single_supplier_molecule_design_tbl, molecule_design_gene_tbl, refseq_gene_tbl): "Mapper factory." md = molecule_design_tbl ssmd = single_supplier_molecule_design_tbl mdg = molecule_design_gene_tbl rsg = refseq_gene_tbl m = mapper(MoleculeDesign, molecule_design_tbl, id_attribute='molecule_design_id', properties=dict( molecule_type=relationship(MoleculeType), #, lazy='joined'), chemical_structures=relationship( ChemicalStructure, secondary=molecule_design_structure_tbl, back_populates='molecule_designs'), supplier_molecule_designs= relationship(SupplierMoleculeDesign, secondary=ssmd, back_populates='molecule_design'), genes=relationship(Gene, viewonly=True, secondary=mdg, primaryjoin=(mdg.c.molecule_design_id == md.c.molecule_design_id), secondaryjoin=(mdg.c.gene_id == rsg.c.gene_id), foreign_keys=(mdg.c.molecule_design_id, mdg.c.gene_id), back_populates='molecule_designs', ), ), polymorphic_on=molecule_design_tbl.c.molecule_type_id, polymorphic_identity=MOLECULE_TYPE, ) return m
def create_mapper(experiment_metadata_type_tbl): "Mapper factory." m = mapper(ExperimentMetadataType, experiment_metadata_type_tbl, id_attribute='experiment_metadata_type_id', slug_expression=lambda cls: func.lower(cls.id)) return m
def create_mapper(rack_tbl, rack_barcoded_location_tbl): "Mapper factory." rbl = rack_barcoded_location_tbl m = mapper(Rack, rack_tbl, id_attribute='rack_id', slug_expression=lambda cls: as_slug_expression(cls.barcode), properties=dict( label=column_property( rack_tbl.c.label, comparator_factory=CaseInsensitiveComparator ), specs=relationship(RackSpecs, innerjoin=True, uselist=False), status=relationship(ItemStatus, innerjoin=True, uselist=False), location_rack=relationship(BarcodedLocationRack, uselist=False, back_populates='rack', cascade='all,delete,delete-orphan'), _location=relationship(BarcodedLocation, viewonly=True, uselist=False, secondary=rbl, foreign_keys=(rbl.c.rack_id, rbl.c.barcoded_location_id), ), ), polymorphic_on=rack_tbl.c.rack_type, polymorphic_identity=RACK_TYPES.RACK, ) return m
def create_mapper(barcoded_location_tbl, rack_barcoded_location_tbl): "Mapper factory." bl = barcoded_location_tbl rbl = rack_barcoded_location_tbl.alias() m = mapper( BarcodedLocation, barcoded_location_tbl, id_attribute='barcoded_location_id', slug_expression=lambda cls: as_slug_expression(cls.name), properties=dict( label=column_property( barcoded_location_tbl.c.label, comparator_factory=CaseInsensitiveComparator), device=relationship(Device, uselist=False, back_populates='locations'), location_rack=relationship( BarcodedLocationRack, uselist=False, back_populates='location', # lazy='joined', cascade='all,delete,delete-orphan', single_parent=True), empty=column_property( ~exists( # the symbol "~" negates the clause select([rbl.c.barcoded_location_id], bl.c.barcoded_location_id == rbl.c.barcoded_location_id)), deferred=True), )) return m
def create_mapper(rack_specs_tbl): "Mapper factory." rs = rack_specs_tbl polymorphic_select = select([ rs, (case([(rs.c.has_movable_subitems, literal(RACK_SPECS_TYPES.TUBE_RACK_SPECS))], else_=literal( RACK_SPECS_TYPES.PLATE_SPECS))).label('rackspecs_type') ], ).alias('rackspecs') m = mapper( RackSpecs, polymorphic_select, id_attribute='rack_specs_id', slug_expression=lambda cls: as_slug_expression(cls.name), properties=dict( manufacturer=relationship(Organization), shape=relationship(RackShape, uselist=False, back_populates='specs'), rack_specs_type=column_property( polymorphic_select.c.rackspecs_type), ), polymorphic_on=polymorphic_select.c.rackspecs_type, polymorphic_identity=RACK_SPECS_TYPES.RACK_SPECS, ) RackSpecs.has_tubes = synonym('has_movable_subitems') return m
def create_mapper(experiment_design_tbl, worklist_series_experiment_design_tbl): "Mapper factory." m = mapper( ExperimentDesign, experiment_design_tbl, id_attribute='experiment_design_id', properties=dict(rack_shape=relationship(RackShape, uselist=False), experiment_design_racks=relationship( ExperimentDesignRack, back_populates='experiment_design', cascade="all, delete, delete-orphan"), experiments=relationship( Experiment, back_populates='experiment_design', cascade_backrefs=False), experiment_metadata=relationship( ExperimentMetadata, back_populates='experiment_design', uselist=False), worklist_series=relationship( WorklistSeries, uselist=False, cascade='all, delete, delete-orphan', secondary=worklist_series_experiment_design_tbl, single_parent=True)), ) return m
def create_mapper(experiment_metadata_tbl, experiment_metadata_iso_request_tbl): "Mapper factory." m = mapper( ExperimentMetadata, experiment_metadata_tbl, id_attribute='experiment_metadata_id', slug_expression=lambda cls: as_slug_expression(cls.label), properties= dict(label=column_property( experiment_metadata_tbl.c.label, comparator_factory=CaseInsensitiveComparator ), experiment_design=relationship(ExperimentDesign, uselist=False, cascade='all,delete,delete-orphan', back_populates='experiment_metadata'), subproject=relationship(Subproject, uselist=False), lab_iso_request=relationship(LabIsoRequest, uselist=False, secondary=experiment_metadata_iso_request_tbl, back_populates='experiment_metadata', cascade='all,delete,delete-orphan', single_parent=True), experiment_metadata_type=relationship(ExperimentMetadataType, uselist=False), ), ) return m
def create_mapper(molecule_design_set_mapper, molecule_design_pool_tbl, pooled_supplier_molecule_design_tbl, supplier_molecule_design_tbl, molecule_design_set_gene_tbl): "Mapper factory." mdp = molecule_design_pool_tbl psmd = pooled_supplier_molecule_design_tbl smd = supplier_molecule_design_tbl mdsg = molecule_design_set_gene_tbl m = mapper(MoleculeDesignPool, molecule_design_pool_tbl, inherits=molecule_design_set_mapper, properties=dict( molecule_type=relationship(MoleculeType, # lazy='joined' ), supplier_molecule_designs= relationship( SupplierMoleculeDesign, secondary=psmd, primaryjoin=psmd.c.molecule_design_set_id == mdp.c.molecule_design_set_id, secondaryjoin=smd.c.supplier_molecule_design_id == psmd.c.supplier_molecule_design_id, foreign_keys=[psmd.c.molecule_design_set_id, psmd.c.supplier_molecule_design_id], back_populates='molecule_design_pool'), genes=relationship(Gene, viewonly=True, secondary=mdsg), ), polymorphic_identity=MOLECULE_DESIGN_SET_TYPES.POOL) event.listen(MoleculeDesignPool, 'init', check_init) return m
def create_mapper(iso_request_mapper, lab_iso_request_tbl, experiment_metadata_iso_request_tbl, reservoir_specs_tbl, molecule_design_library_lab_iso_request_tbl): "Mapper factory." lir = lab_iso_request_tbl emir = experiment_metadata_iso_request_tbl rs = reservoir_specs_tbl m = mapper(LabIsoRequest, lab_iso_request_tbl, inherits=iso_request_mapper, properties=dict( requester=relationship(User, uselist=False), rack_layout=relationship(RackLayout, uselist=False, cascade='all,delete,delete-orphan', single_parent=True), experiment_metadata=relationship(ExperimentMetadata, secondary=emir, uselist=False, back_populates='lab_iso_request'), molecule_design_library=relationship( MoleculeDesignLibrary, uselist=False, secondary=molecule_design_library_lab_iso_request_tbl), iso_plate_reservoir_specs=relationship(ReservoirSpecs, uselist=False, primaryjoin=lir.c.iso_plate_reservoir_specs_id == \ rs.c.reservoir_specs_id) ), polymorphic_identity=ISO_TYPES.LAB, ) return m
def create_mapper(item_status_tbl): "Mapper factory." m = mapper(ItemStatus, item_status_tbl, id_attribute='item_status_id', slug_expression=lambda cls: as_slug_expression(cls.name)) return m
def create_mapper(iso_request_tbl, worklist_series_iso_request_tbl, iso_request_pool_set_tbl): "Mapper factory." wsir = worklist_series_iso_request_tbl m = mapper(IsoRequest, iso_request_tbl, id_attribute='iso_request_id', properties= dict(owner=column_property(iso_request_tbl.c.owner, comparator_factory=CaseInsensitiveComparator ), isos=relationship(Iso, back_populates='iso_request'), worklist_series=relationship(WorklistSeries, uselist=False, secondary=wsir, cascade='all,delete,delete-orphan', single_parent=True), molecule_design_pool_set=relationship( MoleculeDesignPoolSet, secondary=iso_request_pool_set_tbl, uselist=False, single_parent=True, cascade='all,delete,delete-orphan') ), polymorphic_on=iso_request_tbl.c.iso_type, polymorphic_identity=ISO_TYPES.BASE, ) return m
def create_mapper(molecule_design_set_mapper, molecule_design_pool_tbl, pooled_supplier_molecule_design_tbl, supplier_molecule_design_tbl, molecule_design_set_gene_tbl): "Mapper factory." mdp = molecule_design_pool_tbl psmd = pooled_supplier_molecule_design_tbl smd = supplier_molecule_design_tbl mdsg = molecule_design_set_gene_tbl m = mapper( MoleculeDesignPool, molecule_design_pool_tbl, inherits=molecule_design_set_mapper, properties=dict( molecule_type=relationship( MoleculeType, # lazy='joined' ), supplier_molecule_designs=relationship( SupplierMoleculeDesign, secondary=psmd, primaryjoin=psmd.c.molecule_design_set_id == mdp.c.molecule_design_set_id, secondaryjoin=smd.c.supplier_molecule_design_id == psmd.c.supplier_molecule_design_id, foreign_keys=[ psmd.c.molecule_design_set_id, psmd.c.supplier_molecule_design_id ], back_populates='molecule_design_pool'), genes=relationship(Gene, viewonly=True, secondary=mdsg), ), polymorphic_identity=MOLECULE_DESIGN_SET_TYPES.POOL) event.listen(MoleculeDesignPool, 'init', check_init) return m
def create_mapper(iso_plate_tbl): "Mapper factory." m = mapper(IsoPlate, iso_plate_tbl, id_attribute='iso_plate_id', polymorphic_on=iso_plate_tbl.c.iso_plate_type, polymorphic_identity=ISO_PLATE_TYPES.ISO_PLATE, properties=dict(rack=relationship(Rack, uselist=False), )) return m
def create_mapper(barcoded_location_tbl): "Mapper factory." bl = barcoded_location_tbl.alias('bl') location_select = select([bl.c.type.label('name')] ).distinct().alias('loctypes') m = mapper(BarcodedLocationType, location_select, slug_expression=lambda cls: as_slug_expression(cls.name), primary_key=[location_select.c.name], ) return m
def create_mapper(species_tbl): "Mapper factory." m = mapper( Species, species_tbl, id_attribute='species_id', slug_expression=lambda cls: as_slug_expression(cls.common_name), properties=dict(genes=relationship(Gene, back_populates='species'), ), ) return m
def create_mapper(device_type_tbl): "Mapper factory." m = mapper(DeviceType, device_type_tbl, id_attribute='device_type_id', slug_expression=lambda cls: as_slug_expression(cls.name), properties=dict( devices=relationship(Device, back_populates='type'), ), ) return m
def create_mapper(molecule_tbl, molecule_supplier_molecule_design_tbl): "Mapper factory." # ssmd = single_supplier_molecule_design_tbl # smd = supplier_molecule_design_tbl # mcl = molecule_tbl.alias() # prd_sel = \ # select([distinct(smd.c.product_id)], # and_(mcl.c.molecule_design_id == # molecule_tbl.c.molecule_design_id, # smd.c.supplier_id == molecule_tbl.c.supplier_id, # smd.c.is_current # ), # from_obj=[mcl.join(ssmd, # ssmd.c.molecule_design_id == # mcl.c.molecule_design_id) # .join(smd, # smd.c.supplier_molecule_design_id == # ssmd.c.supplier_molecule_design_id)] # ) # msmd = molecule_supplier_molecule_design_vw msmd = molecule_supplier_molecule_design_tbl m = mapper( Molecule, molecule_tbl, id_attribute='molecule_id', properties=dict( supplier=relationship(Organization), molecule_design=relationship( MoleculeDesign, uselist=False, # lazy='joined' ), # Loading the product ID like this is faster than loading it # through the supplier molecule design. # product_id=column_property(prd_sel.as_scalar(), deferred=True), supplier_molecule_design=relationship( SupplierMoleculeDesign, uselist=False, secondary=msmd, # primaryjoin=ssmd.c.molecule_design_id == # molecule_tbl.c.molecule_design_id, # secondaryjoin=and_(smd.c.supplier_molecule_design_id == # ssmd.c.supplier_molecule_design_id, # smd.c.is_current, # smd.c.supplier_id == molecule_tbl.c.supplier_id), # foreign_keys=(ssmd.c.molecule_design_id, # ssmd.c.supplier_molecule_design_id), ## remote_side=msmd.c.molecule_id, viewonly=True), sample_molecules=relationship(SampleMolecule, back_populates='molecule'), ), ) return m
def create_mapper(stock_rack_mapper, iso_job_stock_rack_tbl): "Mapper factory." m = mapper( IsoJobStockRack, iso_job_stock_rack_tbl, inherits=stock_rack_mapper, properties=dict(iso_job=relationship( IsoJob, uselist=False, back_populates='iso_job_stock_racks'), ), polymorphic_identity=STOCK_RACK_TYPES.ISO_JOB, ) return m
def create_mapper(user_preferences_tbl): "Mapper factory." m = mapper(UserPreferences, user_preferences_tbl, id_attribute='user_preferences_id', properties=dict(user=relationship( User, uselist=False, back_populates='user_preferenceses', cascade='save-update'), )) return m
def create_mapper(iso_plate_mapper, iso_aliquot_plate_tbl): "Mapper factory." m = mapper(IsoAliquotPlate, iso_aliquot_plate_tbl, inherits=iso_plate_mapper, properties=dict( iso=relationship(Iso, uselist=False, back_populates='iso_aliquot_plates'), ), polymorphic_identity=ISO_PLATE_TYPES.ALIQUOT, ) return m
def create_mapper(iso_plate_mapper, iso_aliquot_plate_tbl): "Mapper factory." m = mapper( IsoAliquotPlate, iso_aliquot_plate_tbl, inherits=iso_plate_mapper, properties=dict(iso=relationship( Iso, uselist=False, back_populates='iso_aliquot_plates'), ), polymorphic_identity=ISO_PLATE_TYPES.ALIQUOT, ) return m
def create_mapper(stock_rack_mapper, iso_sector_stock_rack_tbl): "Mapper factory." m = mapper( IsoSectorStockRack, iso_sector_stock_rack_tbl, inherits=stock_rack_mapper, properties=dict(iso=relationship( Iso, uselist=False, back_populates='iso_sector_stock_racks'), ), polymorphic_identity=STOCK_RACK_TYPES.SECTOR, ) return m
def create_mapper(iso_plate_tbl): "Mapper factory." m = mapper(IsoPlate, iso_plate_tbl, id_attribute='iso_plate_id', polymorphic_on=iso_plate_tbl.c.iso_plate_type, polymorphic_identity=ISO_PLATE_TYPES.ISO_PLATE, properties=dict( rack=relationship(Rack, uselist=False), ) ) return m
def create_mapper(iso_mapper, stock_sample_creation_iso_tbl): "Mapper factory." m = mapper(StockSampleCreationIso, stock_sample_creation_iso_tbl, inherits=iso_mapper, properties=dict( iso_sector_preparation_plates=relationship( IsoSectorPreparationPlate, back_populates='iso', cascade='all,delete,delete-orphan')), polymorphic_identity=ISO_TYPES.STOCK_SAMPLE_GENERATION) return m
def create_mapper(species_tbl): "Mapper factory." m = mapper(Species, species_tbl, id_attribute='species_id', slug_expression=lambda cls: as_slug_expression(cls.common_name), properties=dict( genes=relationship(Gene, back_populates='species'), ), ) return m
def create_mapper(iso_mapper, stock_sample_creation_iso_tbl): "Mapper factory." m = mapper(StockSampleCreationIso, stock_sample_creation_iso_tbl, inherits=iso_mapper, properties=dict(iso_sector_preparation_plates=relationship( IsoSectorPreparationPlate, back_populates='iso', cascade='all,delete,delete-orphan')), polymorphic_identity=ISO_TYPES.STOCK_SAMPLE_GENERATION) return m
def create_mapper(user_preferences_tbl): "Mapper factory." m = mapper(UserPreferences, user_preferences_tbl, id_attribute='user_preferences_id', properties=dict( user=relationship(User, uselist=False, back_populates='user_preferenceses', cascade='save-update'), ) ) return m
def create_mapper(stock_rack_mapper, iso_stock_rack_tbl): "Mapper factory." m = mapper(IsoStockRack, iso_stock_rack_tbl, inherits=stock_rack_mapper, properties=dict( iso=relationship(Iso, uselist=False, back_populates='iso_stock_racks'), ), polymorphic_identity=STOCK_RACK_TYPES.ISO, ) return m
def create_mapper(rack_shape_tbl): "Mapper factory." m = mapper(RackShape, rack_shape_tbl, id_attribute='rack_shape_name', slug_expression=lambda cls: as_slug_expression(cls.rack_shape_name), properties=dict( specs=relationship(RackSpecs, back_populates='shape'), ), ) RackShape.name = synonym('rack_shape_name') return m
def create_mapper(worklist_series_tbl): "Mapper factory." m = mapper(WorklistSeries, worklist_series_tbl, id_attribute='worklist_series_id', properties=dict(worklist_series_members=relationship( WorklistSeriesMember, uselist=True, collection_class=list, back_populates='worklist_series', cascade='all,delete,delete-orphan'))) return m
def create_mapper(rack_shape_tbl): "Mapper factory." m = mapper( RackShape, rack_shape_tbl, id_attribute='rack_shape_name', slug_expression=lambda cls: as_slug_expression(cls.rack_shape_name), properties=dict(specs=relationship(RackSpecs, back_populates='shape'), ), ) RackShape.name = synonym('rack_shape_name') return m
def create_mapper(barcoded_location_tbl): "Mapper factory." bl = barcoded_location_tbl.alias('bl') location_select = select([bl.c.type.label('name') ]).distinct().alias('loctypes') m = mapper( BarcodedLocationType, location_select, slug_expression=lambda cls: as_slug_expression(cls.name), primary_key=[location_select.c.name], ) return m
def create_mapper(worklist_series_tbl): "Mapper factory." m = mapper(WorklistSeries, worklist_series_tbl, id_attribute='worklist_series_id', properties=dict( worklist_series_members=relationship(WorklistSeriesMember, uselist=True, collection_class=list, back_populates='worklist_series', cascade='all,delete,delete-orphan') ) ) return m
def create_mapper(iso_job_preparation_plate_tbl): "Mapper factory." m = mapper(IsoJobPreparationPlate, iso_job_preparation_plate_tbl, id_attribute='iso_job_preparation_plate_id', properties=dict( rack=relationship(Rack, uselist=False), rack_layout=relationship(RackLayout, uselist=False), iso_job=relationship(IsoJob, uselist=False, back_populates='iso_job_preparation_plates'), ), ) return m
def create_mapper(organization_tbl): "Mapper factory." m = mapper( Organization, organization_tbl, id_attribute='organization_id', slug_expression=lambda cls: as_slug_expression(cls.name), properties=dict(name=column_property( organization_tbl.c.name, comparator_factory=CaseInsensitiveComparator), ), ) return m
def create_mapper(job_tbl): "Mapper factory." m = mapper(Job, job_tbl, id_attribute='job_id', properties=dict( user=relationship(User, uselist=False), ), polymorphic_on=job_tbl.c.job_type, polymorphic_identity=JOB_TYPES.BASE, ) return m
def create_mapper(rack_position_tbl): "Mapper factory." m = mapper(RackPosition, rack_position_tbl, id_attribute='rack_position_id', slug_expression=lambda cls: func.lower(cls._label), # pylint: disable=W0212 properties= dict(_label=rack_position_tbl.c.label, _row_index=rack_position_tbl.c.row_index, _column_index=rack_position_tbl.c.column_index ), ) return m
def create_mapper(job_tbl): "Mapper factory." m = mapper( Job, job_tbl, id_attribute='job_id', properties=dict(user=relationship(User, uselist=False), ), polymorphic_on=job_tbl.c.job_type, polymorphic_identity=JOB_TYPES.BASE, ) return m
def create_mapper(device_tbl): "Mapper factory." m = mapper(Device, device_tbl, id_attribute='device_id', slug_expression=lambda cls: as_slug_expression(cls.name), properties=dict( type=relationship(DeviceType), locations=relationship(BarcodedLocation, back_populates='device'), manufacturer=relationship(Organization, uselist=False), ), ) return m
def create_mapper(iso_mapper, iso_tbl, iso_library_plate_tbl): "Mapper factory." m = mapper(LabIso, iso_tbl, inherits=iso_mapper, polymorphic_identity=ISO_TYPES.LAB, properties=dict( library_plates=relationship(LibraryPlate, secondary=iso_library_plate_tbl, back_populates='lab_iso', cascade='all'))) return m
def create_mapper(iso_mapper, iso_tbl, iso_library_plate_tbl): "Mapper factory." m = mapper(LabIso, iso_tbl, inherits=iso_mapper, polymorphic_identity=ISO_TYPES.LAB, properties=dict( library_plates=relationship(LibraryPlate, secondary=iso_library_plate_tbl, back_populates='lab_iso', cascade='all') ) ) return m
def create_mapper(rack_position_set_tbl, rack_position_set_member_tbl): "Mapper factory." m = mapper( RackPositionSet, rack_position_set_tbl, id_attribute="rack_position_set_id", slug_expression=lambda cls: cls._hash_value, # pylint: disable=W0212 properties=dict( _positions=relationship(RackPosition, collection_class=set, secondary=rack_position_set_member_tbl), _hash_value=rack_position_set_tbl.c.hash_value, ), ) return m
def create_mapper(organization_tbl): "Mapper factory." m = mapper(Organization, organization_tbl, id_attribute='organization_id', slug_expression=lambda cls: as_slug_expression(cls.name), properties=dict( name=column_property( organization_tbl.c.name, comparator_factory=CaseInsensitiveComparator ), ), ) return m
def create_mapper(job_mapper, job_tbl, experiment_tbl): "Mapper factory." m = mapper( ExperimentJob, job_tbl, inherits=job_mapper, properties=dict( experiments=relationship(Experiment, order_by=experiment_tbl.c.experiment_id, back_populates='job', cascade='save-update, merge, delete')), polymorphic_identity=JOB_TYPES.EXPERIMENT) return m
def create_mapper(executed_liquid_transfer_tbl): "Mapper factory." m = mapper(ExecutedLiquidTransfer, executed_liquid_transfer_tbl, id_attribute='executed_liquid_transfer_id', properties=dict( user=relationship(User, uselist=False), planned_liquid_transfer=relationship(PlannedLiquidTransfer, uselist=False), ), polymorphic_on=executed_liquid_transfer_tbl.c.transfer_type, polymorphic_identity=TRANSFER_TYPES.LIQUID_TRANSFER ) return m