def changes_in_month(self, year, month, category=None): """ Get changes in a month. """ month_events = { } if isleap(year) and month == 2: # month range from 1 to 12 mdays[2] = 29 else: mdays[2] = 28 # get last amount of events in past month, or, better: # amount of events that occuried in (month - 1) at last day, from # 12 PM to 23:59 PM self.calendar.dryrun = True self.calendar.dec_date(1) # 1 indicates it is a month decrement prev_date = self.calendar.temp # what changes were needed to decrement self.calendar.dryrun = False prev_year = year prev_month = month for key, value in prev_date.items(): if key == "year": prev_year = value elif key == "month": prev_month = value month_range = self.calendar.get_monthrange(prev_year, prev_month)[1] start = datetime.datetime(prev_year, prev_month, month_range, 12) end = datetime.datetime(year, month, 1) start_value = self.timerange_changes_count_generic(start, end, category, self.inventory, self.hostaddr) for day in range(mdays[month]): day_count = [ ] # for each day, grab data for 0 AM .. 11:59 AM, 12 PM .. 23:59 PM start = datetime.datetime(year, month, day + 1) end = datetime.datetime(year, month, day + 1, 12) count1 = self.timerange_changes_count_generic(start, end, category, self.inventory, self.hostaddr) start = datetime.datetime(year, month, day + 1, 12) dyear = year dmonth = month dday = day if day == mdays[month] - 1: self.calendar.dryrun = True self.calendar.inc_date(1) next_date = self.calendar.temp self.calendar.dryrun = False dday = 1 for key, value in next_date.items(): if key == "year": dyear = value elif key == "month": dmonth = value else: dday += 2 end = datetime.datetime(dyear, dmonth, dday) count2 = self.timerange_changes_count_generic(start, end, category, self.inventory, self.hostaddr) day_count.append([count1, ]) day_count.append([count2, ]) month_events[day] = day_count return self.standard_sum_filter(), (start_value, ), month_events
def changes_in_month(self, year, month, category=None): """ Get changes in a month. """ month_events = {} if isleap(year) and month == 2: # month range from 1 to 12 mdays[2] = 29 else: mdays[2] = 28 # get last amount of events in past month, or, better: # amount of events that occuried in (month - 1) at last day, from # 12 PM to 23:59 PM self.calendar.dryrun = True self.calendar.dec_date(1) # 1 indicates it is a month decrement prev_date = self.calendar.temp # what changes were needed to decrement self.calendar.dryrun = False prev_year = year prev_month = month for key, value in prev_date.items(): if key == "year": prev_year = value elif key == "month": prev_month = value month_range = self.calendar.get_monthrange(prev_year, prev_month)[1] start = datetime.datetime(prev_year, prev_month, month_range, 12) end = datetime.datetime(year, month, 1) start_value = self.timerange_changes_count_generic( start, end, category, self.inventory, self.hostaddr) for day in range(mdays[month]): day_count = [] # for each day, grab data for 0 AM .. 11:59 AM, 12 PM .. 23:59 PM start = datetime.datetime(year, month, day + 1) end = datetime.datetime(year, month, day + 1, 12) count1 = self.timerange_changes_count_generic( start, end, category, self.inventory, self.hostaddr) start = datetime.datetime(year, month, day + 1, 12) dyear = year dmonth = month dday = day if day == mdays[month] - 1: self.calendar.dryrun = True self.calendar.inc_date(1) next_date = self.calendar.temp self.calendar.dryrun = False dday = 1 for key, value in next_date.items(): if key == "year": dyear = value elif key == "month": dmonth = value else: dday += 2 end = datetime.datetime(dyear, dmonth, dday) count2 = self.timerange_changes_count_generic( start, end, category, self.inventory, self.hostaddr) day_count.append([ count1, ]) day_count.append([ count2, ]) month_events[day] = day_count return self.standard_sum_filter(), (start_value, ), month_events
def changes_in_year(self, year, category=None): """ Gets changes per "week" in an entire year. """ if isleap(year): mdays[2] = 29 else: mdays[2] = 28 # get last amount of events in past year, or, better: # amount of events that occuried in (year - 1) at December, from # numberOfDaysInDecember / 2 + (numberOfDaysInDecember / 4) till # final of month. if year == self.calendar.year_range[0]: start_value = 0 else: half = mdays[12] / 2 quarter = half / 2 start = datetime.datetime(year - 1, 12, quarter + half) end = datetime.datetime(year, 1, 1) start_value = self.timerange_changes_count_generic(start, end, category, self.inventory, self.hostaddr) # get events for year year_events = { } for m in range(12): half = (mdays[m + 1] / 2) + 1 quarter = (half / 2) # months with 31 or 30 days: # half = (31/2) + 1 = 16 # quarter = 8 # will grab 1 -> 8, 8 -> 16, 16 -> 24, 24 -> end month # month with 28 or 29 days: # half = (29/2) + 1 = 15 # quarter = 7 # will grab 1 -> 7, 7 -> 15, 15 -> 22, 22 -> end month days = (1, quarter, half, half + quarter, 1) mcount = [ ] for i in range(len(days) - 1): start = datetime.datetime(year, m + 1, days[i]) if i == len(days) - 2: dyear = year dmonth = m + 2 if m == 11: dyear += 1 dmonth = 1 end = datetime.datetime(dyear, dmonth, days[i + 1]) else: end = datetime.datetime(year, m + 1, days[i + 1]) count = self.timerange_changes_count_generic(start, end, category, self.inventory, self.hostaddr) mcount.append([count, ]) year_events[m] = mcount return self.standard_sum_filter(), (start_value, ), year_events
def changes_in_year(self, year, category=None): """ Gets changes per "week" in an entire year. """ if isleap(year): mdays[2] = 29 else: mdays[2] = 28 # get last amount of events in past year, or, better: # amount of events that occuried in (year - 1) at December, from # numberOfDaysInDecember / 2 + (numberOfDaysInDecember / 4) till # final of month. if year == self.calendar.year_range[0]: start_value = 0 else: half = mdays[12] / 2 quarter = half / 2 start = datetime.datetime(year - 1, 12, quarter + half) end = datetime.datetime(year, 1, 1) start_value = self.timerange_changes_count_generic( start, end, category, self.inventory, self.hostaddr) # get events for year year_events = {} for m in range(12): half = (mdays[m + 1] / 2) + 1 quarter = (half / 2) # months with 31 or 30 days: # half = (31/2) + 1 = 16 # quarter = 8 # will grab 1 -> 8, 8 -> 16, 16 -> 24, 24 -> end month # month with 28 or 29 days: # half = (29/2) + 1 = 15 # quarter = 7 # will grab 1 -> 7, 7 -> 15, 15 -> 22, 22 -> end month days = (1, quarter, half, half + quarter, 1) mcount = [] for i in range(len(days) - 1): start = datetime.datetime(year, m + 1, days[i]) if i == len(days) - 2: dyear = year dmonth = m + 2 if m == 11: dyear += 1 dmonth = 1 end = datetime.datetime(dyear, dmonth, days[i + 1]) else: end = datetime.datetime(year, m + 1, days[i + 1]) count = self.timerange_changes_count_generic( start, end, category, self.inventory, self.hostaddr) mcount.append([ count, ]) year_events[m] = mcount return self.standard_sum_filter(), (start_value, ), year_events