import sys import omero from omero.model import WellI from omero.model import PlateI class PlateCreator(object): def __init__(self, session): self.session = session self.update = session.getUpdateService() def createWell(self, col, row, plate): well = WellI() well.setColumn(omero.RInt(col)) well.setRow(omero.RInt(row)) well.setPlate(plate) return self.update.saveAndReturnObject(well) def createPlate(self, name, cols, rows): plate = PlateI() plate.setName(omero.RString(name)) plate.details.setOwner(self.session.user) plate = self.update.saveAndReturnObject(plate) wells = [] for i in range(cols): for j in range(rows): wells.append(self.createWell(i,j, plate)) return plate, wells class PlateGetter(object): def __init__(self, session): self.session = session self.query = session.getQueryService() def getPlates(self): query = 'select p from Plate p where p.details.owner = %i' % \ self.session.user.getId().val return self.query.findAllByQuery(query, None) if __name__ == '__main__': user, passw = sys.argv[1:] client = omero.client() session = client.createSession(user, passw) session.user = session.getAdminService().lookupExperimenter('omero') pc = PlateCreator(session) pg = PlateGetter(session)