def not_in_future(value): # Convert date to datetime if is_date(value): value = date_to_datetime(value) if value > datetime.now(): raise ValidationError("Can't be in the future.")
def before(max_dt, dt_format='%d/%m/%Y'): if is_date(max_dt): max_dt = date_to_datetime(max_dt) def f(value): if is_date(value): value = date_to_datetime(value) if value > max_dt: raise ValidationError('Value is after %s.' % max_dt.strftime(dt_format)) return f
def after(min_dt, dt_format='%d/%m/%Y'): if is_date(min_dt): min_dt = date_to_datetime(min_dt) def f(value): if is_date(value): value = date_to_datetime(value) if value < min_dt: raise ValidationError('Value is before %s.' % min_dt.strftime(dt_format)) return f
def datetime_format(dt, seconds=False): if dt is None: return '' else: if is_date(dt): dt = date_to_datetime(dt) output = '%02d/%02d/%04d %02d:%02d' % (dt.day, dt.month, dt.year, dt.hour, dt.minute) if seconds: output += ':%02d' % dt.second return output
def f(value): if is_date(value): value = date_to_datetime(value) if value > max_dt: raise ValidationError('Value is after %s.' % max_dt.strftime(dt_format))
def f(value): if is_date(value): value = date_to_datetime(value) if value < min_dt: raise ValidationError('Value is before %s.' % min_dt.strftime(dt_format))