本文整理汇总了Python中omero_model_ImageI.ImageI.copyDatasetLinks方法的典型用法代码示例。如果您正苦于以下问题:Python ImageI.copyDatasetLinks方法的具体用法?Python ImageI.copyDatasetLinks怎么用?Python ImageI.copyDatasetLinks使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类omero_model_ImageI.ImageI
的用法示例。
在下文中一共展示了ImageI.copyDatasetLinks方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test1172
# 需要导入模块: from omero_model_ImageI import ImageI [as 别名]
# 或者: from omero_model_ImageI.ImageI import copyDatasetLinks [as 别名]
def test1172(self):
uuid = self.root.sf.getAdminService().getEventContext().sessionUuid
share = self.root.sf.getShareService()
query = self.root.sf.getQueryService()
update = self.root.sf.getUpdateService()
### create user
client_share1, user1 = self.new_client_and_user()
#create dataset with image
#dataset with image
ds = omero.model.DatasetI()
ds.setName(rstring("dataset-%s" % (uuid)))
ds = update.saveAndReturnObject(ds)
ds.unload()
# create image
img = ImageI()
img.setName(rstring('test-img in dataset-%s' % (uuid)))
img.setAcquisitionDate(rtime(0))
img = update.saveAndReturnObject(img)
img.unload()
dil = DatasetImageLinkI()
dil.setParent(ds)
dil.setChild(img)
dil = update.saveAndReturnObject(dil)
dil.unload()
# create share by root
items = list()
ms = list()
p = omero.sys.Parameters()
p.map = {}
p.map["oid"] = ds.id
sql = "select ds from Dataset ds join fetch ds.details.owner join fetch ds.details.group " \
"left outer join fetch ds.imageLinks dil left outer join fetch dil.child i " \
"where ds.id=:oid"
items.extend(query.findAllByQuery(sql, p))
self.assertEquals(1, len(items))
#members
p.map["eid"] = rlong(user1.id.val)
sql = "select e from Experimenter e where e.id =:eid order by e.omeName"
ms = query.findAllByQuery(sql, p)
sid = share.createShare(("test-share-%s" % uuid), rtime(long(time.time()*1000 + 86400)) , items, ms, [], True)
# USER RETRIEVAL
## login as user1
share1 = client_share1.sf.getShareService()
query1 = client_share1.sf.getQueryService()
cntar1 = client_share1.sf.getContainerService()
content = share1.getContents(sid)
# Content now contains just the dataset with nothing loaded
self.assertEquals(1, len(content))
# get shared dataset and image when share is activated
share1.activate(sid)
#retrieve dataset
p = omero.sys.Parameters()
p.map = {}
p.map["ids"] = rlist([ds.id])
sql = "select ds from Dataset ds join fetch ds.details.owner join fetch ds.details.group " \
"left outer join fetch ds.imageLinks dil left outer join fetch dil.child i " \
"where ds.id in (:ids) order by ds.name"
try:
res1 = query1.findAllByQuery(sql, p)
self.fail("This should throw an exception")
except:
pass
#
# Now we add all the other elements to the share to prevent
# the security violation
#
# Not working imgs = cntar.getImages("Dataset",[ds.id.val], None)
img = query.findByQuery("select i from Image i join fetch i.datasetLinks dil join dil.parent d where d.id = %s " % ds.id.val, None)
self.assert_(img)
share.addObject(sid, img)
share.addObjects(sid, img.copyDatasetLinks())
self.assertEquals(3, len(share.getContents(sid)))
#
# And try again to load them
#
share1.activate(sid)
res1 = query1.findAllByQuery(sql, p)
self.assert_(len(res1) == 1)
for e in res1:
self.assert_(e.id.val == ds.id.val)
# retrieve only image
p = omero.sys.Parameters()
p.map = {}
p.map["oid"] = rlong(img.id)
sql = "select im from Image im " \
"where im.id=:oid order by im.name"
#.........这里部分代码省略.........