def _dmd(self): """ A way for facades to access the data layer """ try: return self.context.dmd.primaryAq() except: return get_dmd()
def _hasPermissionsForAllEvents(self, permission, evids): try: dmd = get_dmd() target_permission = permission.lower() events_filter = self._buildFilter(uids=None, params={}, specificEventUuids=evids) event_summaries = self.zep.getEventSummaries(0, filter=events_filter, use_permissions=True) devices = set() for summary in event_summaries['events']: d = EventCompatInfo(self.context.dmd, summary) dev_obj = dmd.getObjByPath(d.device['uid']) devices.add(dev_obj) for device in devices: if not permissionsForContext(device)[target_permission]: return False return True except Exception as e: log.debug(e) return False