def get_usage_for_month(self, dateobj): """ Returns all C{UsageItem} for month C{dateobj} """ if not isinstance(dateobj, datetime.date): raise ValueError("Don't know what to do with %s" % dateobj) first_current_month_day = dateobj.replace(day=1).timetuple() if dateobj.month < 12: nextmonth = dateobj.month + 1 nextyear = dateobj.year else: nextmonth = 1 nextyear = dateobj.year + 1 first_next_month_day = dateobj.replace(day=1, month=nextmonth, year=nextyear).timetuple() return list( self.store.query( UsageItem, AND( UsageItem.start_time >= Time.fromStructTime(first_current_month_day), UsageItem.start_time < Time.fromStructTime(first_next_month_day))))
def get_usage_for_day(self, dateobj): """ Returns all C{UsageItem} for day C{dateobj} """ if not isinstance(dateobj, datetime.date): raise ValueError("Don't know what to do with %s" % dateobj) today = dateobj.timetuple() tomorrow = (dateobj + datetime.timedelta(hours=24)).timetuple() return list(self.store.query(UsageItem, AND(UsageItem.start_time >= Time.fromStructTime(today), UsageItem.end_time < Time.fromStructTime(tomorrow))) )
def get_usage_for_day(self, dateobj): """ Returns all C{UsageItem} for day C{dateobj} """ if not isinstance(dateobj, datetime.date): raise ValueError("Don't know what to do with %s" % dateobj) today = dateobj.timetuple() tomorrow = (dateobj + datetime.timedelta(hours=24)).timetuple() return list( self.store.query( UsageItem, AND(UsageItem.start_time >= Time.fromStructTime(today), UsageItem.end_time < Time.fromStructTime(tomorrow))))
def get_usage_for_month(self, dateobj): """ Returns all C{UsageItem} for month C{dateobj} """ if not isinstance(dateobj, datetime.date): raise ValueError("Don't know what to do with %s" % dateobj) first_current_month_day = dateobj.replace(day=1).timetuple() if dateobj.month < 12: nextmonth = dateobj.month + 1 nextyear = dateobj.year else: nextmonth = 1 nextyear = dateobj.year + 1 first_next_month_day = dateobj.replace(day=1, month=nextmonth, year=nextyear).timetuple() return list(self.store.query(UsageItem, AND(UsageItem.start_time >= Time.fromStructTime( first_current_month_day), UsageItem.start_time < Time.fromStructTime( first_next_month_day))) )