Stack Trace
self = <test.integration.gatewaytest.test_get_objects.TestGetObject object at 0x7f4747e5ecd0>
gatewaywrapper = <omero.gateway.pytest_fixtures.GatewayWrapper object at 0x7f47195d8d10>
author_testimg_tiny = <_ImageWrapper id=5746>
def testGetAnnotations(self, gatewaywrapper, author_testimg_tiny):
obj = author_testimg_tiny
dataset = gatewaywrapper.getTestDataset()
ns = "omero.gateway.test.get_objects.test_get_annotations_comment"
ns_tag = "omero.gateway.test.get_objects.test_get_annotations_tag"
# create Comment
ann = omero.gateway.CommentAnnotationWrapper(gatewaywrapper.gateway)
ann.setNs(ns)
ann.setValue("Test Comment")
ann = obj.linkAnnotation(ann)
# create Tag
tag = omero.gateway.TagAnnotationWrapper(gatewaywrapper.gateway)
tag.setNs(ns_tag)
tag.setValue("Test Tag")
tag = obj.linkAnnotation(tag)
dataset.linkAnnotation(tag)
# also link the Tag to the Comment
> ann.linkAnnotation(tag)
test/integration/gatewaytest/test_get_objects.py:549:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:1133: in linkAnnotation
ann = self._linkAnnotation(ann)
^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:1065: in _linkAnnotation
return self._linkObject(ann, "%sAnnotationLinkI" % self.OMERO_CLASS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <CommentAnnotationWrapper id=5283>, obj = <TagAnnotationWrapper id=5284>
lnkobjtype = 'NoneAnnotationLinkI'
def _linkObject(self, obj, lnkobjtype):
"""
Saves the object to DB if needed - setting the permissions manually.
Creates the object link and saves it, setting permissions manually.
TODO: Can't set permissions manually in 4.2
- Assumes world & group writable
:param obj: The object to link
:type obj: :class:`BlitzObjectWrapper`
"""
ctx = self._conn.SERVICE_OPTS.copy()
ctx.setOmeroGroup(self.details.group.id.val)
if not obj.getId():
# Not yet in db, save it
obj = obj.__class__(
self._conn,
self._conn.getUpdateService().saveAndReturnObject(
obj._obj, ctx))
> lnk = getattr(omero.model, lnkobjtype)()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E AttributeError: module 'omero.model' has no attribute 'NoneAnnotationLinkI'
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:1049: AttributeError