Example #1
0
    def update(self, view):
        self.set_name, self.element_name = self.result.getId().split(':')
        service = getUtility(IMetadataService)
        metadata_set = service.getMetadataSet(self.set_name)
        metadata_element = metadata_set.getElement(self.element_name)
        assert IMetadataElement.providedBy(metadata_element),\
            u"Unknow metadata element %s" % self.result.getId()
        self.renderValue = metadata_element.renderView

        if metadata_element.metadata_in_catalog_p:
            # If the metadata is available on the brain, directly use it
            metadata_key = createIndexId(metadata_element)
            self.getValue = lambda item: getattr(item, metadata_key)
        else:
            self.getValue = lambda item: service.getMetadataValue(
                item.getObject(), self.set_name, self.element_name)
Example #2
0
    def update(self, view):
        self.set_name, self.element_name = self.result.getId().split(':')
        service = getUtility(IMetadataService)
        metadata_set = service.getMetadataSet(self.set_name)
        metadata_element = metadata_set.getElement(self.element_name)
        assert IMetadataElement.providedBy(metadata_element),\
            "Unknow metadata element %s" % self.result.getId()
        self.renderValue = metadata_element.renderView

        if metadata_element.metadata_in_catalog_p:
            # If the metadata is available on the brain, directly use it
            metadata_key = createIndexId(metadata_element)
            self.getValue = lambda item: getattr(item, metadata_key)
        else:
            self.getValue = lambda item: service.getMetadataValue(
                item.getObject(), self.set_name, self.element_name)
Example #3
0
 def getIndexId(self):
     return createIndexId(self.getMetadataElement())
Example #4
0
 def getIndexId(self):
     return createIndexId(self.getMetadataElement())