def getICal(self):
        args, filters = self._getCriteriaArgs()
        brains = self._getBrains(args, filters)
        results = []
        for brain in brains:
            obj = brain.getObject()
            if IEMEvent.providedBy(obj) or ISession.providedBy(obj):
                results.append(self.emGetICal(obj))
            elif hasattr(aq_base(obj), "getICal"):
                results.append(obj.getICal())

        return "".join(results)
 def available(self):
     return IEMEvent.providedBy(self.context)