def getSummaryArgs(dmd, args): zem = dmd.ZenEventManager startDate = args.get('startDate', zem.defaultAvailabilityStart()) endDate = args.get('endDate', zem.defaultAvailabilityEnd()) startDate, endDate = map(Time.ParseUSDate, (startDate, endDate)) endDate = Time.getEndOfDay(endDate) startDate = min(startDate, endDate - 24 * 60 * 60 + 1) # endDate - 23:59:59 how = args.get('how', 'AVERAGE') return dict(start=startDate, end=endDate, function=how)
def getAvailability(self, state, **kw): import Availability allowedFilters = ( "device", "component", "eventClass", "systems", "severity", "prodState", "manager", "agent", "DeviceClass", "Location", "System", "DeviceGroup", "DevicePriority", "monitor") for name in allowedFilters: if hasattr(state, name): kw.setdefault(name, getattr(state, name)) if getattr(state, 'startDate', None) is not None: kw.setdefault('startDate', Time.ParseUSDate(state.startDate)) if getattr(state, 'endDate', None) is not None: # End date needs to be inclusive of events that occurred on that # date. So we advance to the last second of the day. kw.setdefault('endDate', Time.getEndOfDay(Time.ParseUSDate( state.endDate))) kw.setdefault('startDate', time.time() - 60*60*24*self.defaultAvailabilityDays) return Availability.query(self.dmd, **kw)
def getAvailability(self, state, **kw): import Availability allowedFilters = ("device", "component", "eventClass", "systems", "severity", "prodState", "manager", "agent", "DeviceClass", "Location", "System", "DeviceGroup", "DevicePriority", "monitor") for name in allowedFilters: if hasattr(state, name): kw.setdefault(name, getattr(state, name)) if getattr(state, 'startDate', None) is not None: kw.setdefault('startDate', Time.ParseUSDate(state.startDate)) if getattr(state, 'endDate', None) is not None: # End date needs to be inclusive of events that occurred on that # date. So we advance to the last second of the day. kw.setdefault('endDate', Time.getEndOfDay(Time.ParseUSDate(state.endDate))) kw.setdefault( 'startDate', time.time() - 60 * 60 * 24 * self.defaultAvailabilityDays) return Availability.query(self.dmd, **kw)