def plate_well_table(itest, well_grid_factory, update_service, conn): """ Returns a new OMERO Plate, linked Wells, linked WellSamples, and linked Images populated by an L{omeroweb.testlib.IWebTest} instance. """ plate = PlateI() plate.name = rstring(itest.uuid()) # Well A1 has one WellSample plate.addWell(well_grid_factory({(0, 0): 1})[0]) plate = update_service.saveAndReturnObject(plate) col1 = WellColumn('Well', '', []) col2 = StringColumn('TestColumn', '', 64, []) columns = [col1, col2] tablename = "plate_well_table_test:%s" % str(random()) table = conn.c.sf.sharedResources().newTable(1, tablename) table.initialize(columns) wellIds = [w.id.val for w in plate.copyWells()] print("WellIds", wellIds) data1 = WellColumn('Well', '', wellIds) data2 = StringColumn('TestColumn', '', 64, ["foobar"]) data = [data1, data2] table.addData(data) orig_file = table.getOriginalFile() table.close() fileAnn = FileAnnotationI() fileAnn.ns = rstring('openmicroscopy.org/omero/bulk_annotations') fileAnn.setFile(OriginalFileI(orig_file.id.val, False)) fileAnn = conn.getUpdateService().saveAndReturnObject(fileAnn) link = PlateAnnotationLinkI() link.setParent(PlateI(plate.id.val, False)) link.setChild(FileAnnotationI(fileAnn.id.val, False)) update_service.saveAndReturnObject(link) return plate, wellIds
def plate_well_table(itest, well_grid_factory, update_service, conn): """ Returns a new OMERO Plate, linked Wells, linked WellSamples, and linked Images populated by an L{weblibrary.IWebTest} instance. """ plate = PlateI() plate.name = rstring(itest.uuid()) # Well A1 has one WellSample plate.addWell(well_grid_factory({(0, 0): 1})[0]) plate = update_service.saveAndReturnObject(plate) col1 = WellColumn('Well', '', []) col2 = StringColumn('TestColumn', '', 64, []) columns = [col1, col2] tablename = "plate_well_table_test:%s" % str(random()) table = conn.c.sf.sharedResources().newTable(1, tablename) table.initialize(columns) wellIds = [w.id.val for w in plate.copyWells()] print "WellIds", wellIds data1 = WellColumn('Well', '', wellIds) data2 = StringColumn('TestColumn', '', 64, ["foobar"]) data = [data1, data2] table.addData(data) table.close() orig_file = table.getOriginalFile() fileAnn = FileAnnotationI() fileAnn.ns = rstring('openmicroscopy.org/omero/bulk_annotations') fileAnn.setFile(OriginalFileI(orig_file.id.val, False)) fileAnn = conn.getUpdateService().saveAndReturnObject(fileAnn) link = PlateAnnotationLinkI() link.setParent(PlateI(plate.id.val, False)) link.setChild(FileAnnotationI(fileAnn.id.val, False)) update_service.saveAndReturnObject(link) return plate, wellIds