def get_current_treat(klass): this_hour = datetime.datetime.strftime(get_this_hour_dt(), klass.TREAT_TIME_FORMAT) spec = { klass.A_STATUS: klass.STATUS_PENDING, klass.A_TREAT_TIME: this_hour } return klass.mdbc().find_one(spec)
def get_next_treat(klass, get_latest=False): this_hour = datetime.datetime.strftime(get_this_hour_dt(), klass.TREAT_TIME_FORMAT) spec = { klass.A_STATUS: klass.STATUS_PENDING, klass.A_TREAT_TIME: { "$gte":this_hour } } if get_latest: sort = [(klass.A_TREAT_TIME, DESCENDING)] else: sort = [(klass.A_TREAT_TIME, ASCENDING)] treat = klass.mdbc().find(spec).sort(sort).limit(1) treat = [x for x in treat] if treat and len(treat) == 1: return treat[0] else: return None