def test_not_greater(self): class DateForm(Form): start_date = BetterDateTimeField(validators=[NotGreater('end_date')]) end_date = BetterDateTimeField() class NumberForm(Form): start = IntegerField(validators=[NotGreater('end')]) end = IntegerField() class MixedForm(Form): start = IntegerField(validators=[NotGreater('end')]) end = StringField() form = DateForm(start_date=thirty_days_ago(), end_date=today()) assert_equals(form.validate(), True) form = DateForm(start_date=today(), end_date=thirty_days_ago()) assert_equals(form.validate(), False) form = NumberForm(start=1, end=2) assert_equals(form.validate(), True) form = NumberForm(start=3, end=2) assert_equals(form.validate(), False) form = NumberForm(start=3, end=3) assert_equals(form.validate(), True) form = MixedForm(start=3, end='abc') assert_equals(form.validate(), False)
def test_not_greater(self): class DateForm(Form): start_date = BetterDateTimeField( validators=[NotGreater('end_date')]) end_date = BetterDateTimeField() class NumberForm(Form): start = IntegerField(validators=[NotGreater('end')]) end = IntegerField() class MixedForm(Form): start = IntegerField(validators=[NotGreater('end')]) end = StringField() form = DateForm(start_date=thirty_days_ago(), end_date=today()) assert_equals(form.validate(), True) form = DateForm(start_date=today(), end_date=thirty_days_ago()) assert_equals(form.validate(), False) form = NumberForm(start=1, end=2) assert_equals(form.validate(), True) form = NumberForm(start=3, end=2) assert_equals(form.validate(), False) form = NumberForm(start=3, end=3) assert_equals(form.validate(), True) form = MixedForm(start=3, end='abc') assert_equals(form.validate(), False)
def remove_old_report_files(self, report_id, days_ago=10): """ Removes the individual (single-day) report files from the report folder that are older than 'days_ago'. The full report file will be left intact. """ limit_day = today() - timedelta(days=days_ago) path = self.get_public_report_path(report_id, recurrent=True) if not os.path.isdir(path): msg = '"{0}" is not a scheduled report'.format(path) self.logger.exception(msg) raise PublicReportIOError(msg) for filename in os.listdir(path): if filename != COALESCED_REPORT_FILE: file_date = parse_date_from_public_report_file(filename) if file_date <= limit_day: full_path = os.sep.join((path, filename)) self.remove_file(full_path)